【まとめ】CentOS7とCentOS6以前のバージョンとの違いとは?

centos7の違い
  • このエントリーをはてなブックマークに追加
  • Pocket

このページではCentOS6以前の旧バージョンとCentOS7では何が違うのかをまとめてお伝えした。

かなり大きく変わっているため、戸惑うことも多いはずだ。参考にしていただければ幸いだ。

CentOSそのもののアップデート

CentOSの特徴として長期サポートという点があげられる。

10年もコミュニティーによるサポート期限が設けられている。管理者や入門者の方にとって長期的で安定したLinuxディストリビューションというのは非常にありがたい存在だろう。

しかし長期サポートの恩恵を受けつづけていると、メジャーバージョンアップの際自分が浦島太郎のような状態になってしまっていることに気づくことになる。

このページではCentOS6とCentOS7の相違点をあげることにする。CentOS6とCentOS7での変更点は非常に多い。CentOS7で一気にモダンなLinuxディストリビューションへと変貌している。

CentOS7を全体で見ると、今まで設定ファイルを手動で変更を加えてきたものが、コマンドユーティリティ経由で変更するようになっているところが目立つ。

設定ファイルを半自動で安全に変更できる反面、コマンドユーティリティを一から覚えるため、学習コストがかかるというのが難点だ。

どのみちサポート期限が長いので、腰をすえて、慣れてゆこう。

カーネルがバージョン3へアップグレード

カーネルは言わばOSの頭脳にあたる部分であり中核といえる。CentOS6では2.6系を採用していたがCentOS7からは3.x系を採用することになった。これにより、デバイスドライバのサポートが増えるなどの恩恵や新機能の導入が見込めることになった。

現状最先端ディストリビューションは4.x系をサポートしているものが多いが、CentOSは枯れたパッケージをチョイスしている。

ブートローダがGRUB2へアップ

BIOSの他にUEFIのサポートとGPTへのサポートが大きな目玉機能と言える。

他「/boot/grub/grub.conf」などの設定ファイルは直接編集せず、「grub-mkconfig」を使用して機械的に生成するようになった。

systemdによるinitの置き換え

これがもっとも大きな変更のひとつだろう。たいていの人が、「え、本当に?」となるのがこの部分だ。

CentOS6ではinitとして「Upstart」をサポートしていたが、よりモダンな「systemd」へ移行された。

シェルスクリプトではなく独自の書式の設定ファイルを読み込んで各種サービスを起動するようになった。

デフォルトのファイルシステムがext4からxfsへ

スケーラビリティの関係上からデフォルトのファイルシステムが「ext4」から「xfs」へ変更された。

しかし従来通りのインストール時やフォーマット時にext4の選択肢は残されている。

chkconfigの事実上廃止とsystemctl

従来の「chkconfig」が事実上廃止され「systemctl」コマンドでサービスの起動などを制御することになっている。

# systemctl start httpd

などとしてサービスをスタートする。

起動時に有効にしたい場合は

# systemctl enable httpd

とする。

journalctlへの移行

ログを管理するシステムとして「rsyslogd」と平行して「journald」サービスが動作している。将来的にはjournaldによるログ管理へ移行するだろうと思われる。Fedoraなどは既にjournaldへ本格的に移行している。CentOS7でjournaldに移行したい場合は

# mkdir /var/log/journal

とするとログが残るようになる。

ログなどを参照するときは専用のコマンドである「journalctl」を使用する。

サービス個々のログを見たいときは、次の通りだ。

# journalctl -u httpd

journalctl-u

とすると閲覧できる。

# journalctl -u httpd -f

「-f」を引き渡すと「tail -f」と同じ効能が得られる。

iptablesとそのフロントエンドのfirewalld

ファイアーウォールを管理する仕組みとして「firewalld」が導入された。「iptables」のフロントエンドといえるがサービスとして同時稼動はできない。「firewall-cmd」コマンドにより管理することになる。

NIC事にフィルタを設けパケットフィルタリングができるようになっている。

現状を確認するには、

# firewall-cmd --list-all

としてみよう。

firewall-cmd

enp0s3はパブリックゾーンに属し「dhcp6-client」と「ssh」がサービスとして許可されている。ほか443/tcpポートが開放されている状態となっている。

net-toolsを非推奨iproute2へ

従来の「ifconfig」などのコマンドが非推奨になった。これからはiproute2の「ip」コマンドなどを使用することになる。

# ip a

ip-a

MySQLからMariaDB

データベースの話。

OracleがMySQLを取り込んだため、今後もMySQLをオープンでやっていくかが未知数になった。

CentOS7ではデフォルトでMariaDBを採用している。

よりオープンな体制をとるために「MySQL」から「MariaDB」へ標準が変わることになった。ほとんどMySQLと中身は変わらないが、オープンソースを保ちそうな感が違う。

chronydの採用

「ntpd」にかわって採用されたのが「chronyd」である設定する事柄自体はntpdとあまり差はない。極端に意識することはないだろう。

GUI部分ではGnome3へ移行

デスクトップ環境を使用する場合「Gnome3」が採用されていることに注意しよう。デフォルトではクラシックモード設定になっている。

timedatectlコマンド

従来の「date」コマンドよりも詳細な情報がえられる、ほか情報の変更もこのコマンドで行うことが出来る。

# timedatectl

とすると従来の「date」コマンドよりも詳細な情報が得られる。

timedatectl

localectlコマンド

ロケールの設定や確認をするための専属のコマンド「locale」コマンドの強化版だと思えばいい。状態を把握するには

# localectl status

localectl

hostnamectl コマンド

ホスト名を変更する専属のコマンドとなっている。

# hostnamectl set-hostname <ホスト名>

とすると、ホスト名を変更できる。

nmcliコマンド

従来は「/etc/sysconfig/network-script/ifcfg-<インターフェイス名>」をエディタで開き編集していたが、CentOS7からはこのコマンドで機械的に編集するようになっている。

ipv4アドレスを「192.168.12.19」サイダー形式で「24」を指定、デフォルトゲートを「192.168.12.1」として指定

# nmcli connection modify enp0s3 ipv4.addresses "192.168.12.19/24 192.168.12.1"

まとめ

このページではCentOS6以前の旧バージョンとCentOS7では何が違うのかをまとめてお伝えした。結構中身が変わっていることがわかっていただけたと思う。

参考にしていただければ幸いだ。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*