CentOS6与CentOS7的对比表

CentOS6 CentOS7 備考 OSインストール部分 ①anacondaの画面フロー変更。②GUIでのパッケージ選択を廃止③6.5➡7へのupgradeをサポート CentOS6.5➡7にupdateするには下記CentOS6.5 ➡ Centos7にアップグレードeth0などはそのまま引き継がれる。サービスは停止するもの(例えばntpなど)があったり、6.5で動いてたものが正常に動作しなくなる可能性があるので、upgradeは推奨はしません。 デフォルトファイルシステム ext4 xfs 詳しくはこちら。Linuxファイルシステムをまとめてみました カーネルバージョン 2.x / 3.x/ 4.xパッケージ名:kernel-ltkernel-ml (4系はこっち。elrepo-release-6-4.el6.elrepo以降が必要) 3.x / 4.xパッケージ名:kernel-ml kernel-ml,ltがあるのはel6系と競合しないように意図的に分けてます。lt: long-termml: main-line GNOME 2.x Classic(デフォルト)3.x(GNOME Shell Classicは、GNOME3の技術を使うGNOME2ライクのインターフェイス。また3.0から取り入れたGNOME SHELLを使う事が出来る。 ブートローダー GRUB Legacy (+efibootmgr)設定ファイル: /boot/grub/menu.lst GRUB2設定ファイル: /etc/default/grub/boot/grub.d/配下/boot/grub/grub.cfg ①BIOS, UEFIの両方へ対応②RAID, LVMのLinuxでのサポート(今までは標準パーティションの中に少なくとも1つのファイルシステムが必要だった。)③パーティションテーブル:GPTの正式サポートMBRを2TiB➡8ZiBまで管理出来るようになった④ファイルシステムのサポートを追加(HFS+, NTFS, ZFS)⑤カーネルのサポートを追加(XNU(Mac OSXとDarwinカーネル))⑥GRUB2は、GRUBの/boot/grub/menu.lstで設定ファイルを直接編集するようなことは出来ず、/etc/default/grubで設定➡update-grub2コマンド実行➡/boot/grub/grub.cfgファイル生成する流れになってます 時間の変更 \$ vim /etc/sysconfig/clockZONE=”Asia/Tokyo”UTC=fales\$ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \$ timedatectl set-timezone Asia/Tokyo\$ timedatectl status centos6までは設定ファイルからしか現状を確認出来なかったが、centos7からはどういう設定が”反映”されてるかを確認出来ます。より安全に。便利。 ロケール(言語)の変更 \$ vim /etc/sysconfig/i18nLANG=”ja_JP.utf8″\$. /etc/sysconfig/i18n\$ locale \$ localectl set-locale LANG=ja_JP.utf8\$ localectl status コマンド数が少なくなりました。便利。 セキュリティ iptables firewalld+ iptables firewalldはiptablesと併用出来ない。デフォルトではfirewalldが有効なので、iptablesを使うならfirewalldを無効にし、iptables-serviceをインストールし、iptablesを有効にしなければなりません。iptablesに慣れてしまってるので、firewalldの学習コストはかかります。。簡単に設定をしたい+apiで外部サービスと連携したいなら、firewalld。複雑なことをやりたいなら、iptablesを使う方が良いでしょう。(firewalldは内部的にiptablesでフィルタリングされてます)firewalldで複雑な設定をしたい場合のrich-ruleを使うならGUIが設定しやすいのでオススメです。 iscsi周り \$ tgtadm \$ targetcli centos6のパッケージは、scsi-target-utils.x86_64,iscsi-initiator-utilscentos7のパッケージは、targetd.noarch, targetcli.noarchtargetを実際に使っていて、急にサービスfailedになったりと不安定な部分がありました。 ログ周り \$ journalctl systemdのログを確認する事が出来る。
サービス再起動時、エラーが起きたら「journalctl -xb ○○でエラーを見ろ」と出力されます。親切かつ便利。 サービスコマンド \$ service サービス名 start \$ systemctl start unit名 サービスを起動するunitの正規名は○○○.serviceだが、serviceを省略して打つ事も可能。 \$ service サービス名 stop \$ systemctl stop unit名\$ systemctl restart unit名\$ systemctl start unit名 サービスを起動、停止、restartするsystemctl系はコマンドが長くて大変。またunit名がtab補完効かない + unit名が存在しなくても出力されて紛らわしい。(bash-completionを入れれば補完されますが。)(”Reason: No such file or directory”って文字列で存在してないのが分かりますが、焦ってたら気づかない可能性が。。) \$ chkconfig script名 on/off \$ systemctl enable unit名\$ systemctl disable unit名 サービス自動起動をon, offにする \$ chkconfig –list \$ systemctl list-unit-files 全サービス状態を調べる $ hostname ホスト名 \$ hostnamectl set-hostname ホスト名\$ hostnamectl status ホスト名を変更する [GUI➡CUI]\$ vim /etc/inittabid:3:initdefault:再起動後に切り替わる[CUI➡GUI]\$ startxログアウト後にCUIに戻る [GUI➡CUI]\$ systemctl isolate multi-user.target[CUI➡GUI]\$systemctl isolate graphical.target[デフォルトの設定変更方法]\$ systemctl set-default graphical.targetもしくは、\$ systemctl set-default multi-user.target[現在のデフォルト設定の確認]\$ systemctl get-default ネットワーク系コマンド \$ nmtui GUIでネットワークを設定出来る。IPが複数付いた場合は、/etc/sysconfig/network-scripts/ifcfg-ethX に複数IPが記述されてると思うので、必要な部分を削除し、network restartしてください。 nmcli CUIでネットワークを設定出来る。コマンドを実行することにより、/etc/sysconfig/network-scripts/ifcfg-ethXを書き換えてくれます。CentOS7.1からipv4.gatewayオプションが追加されたので、注意してください。CentOS7.0 : \$ nmcli con mod ‘eth0’ ipv4.method manual ipv4.addresses “192.168.1.1/24 192.168.1.254”CentOS7.1 : \$ nmcli con mod ‘eth0’ ipv4.method manual ipv4.addresses “192.168.1.1/24” ipv4.gateway “192.168.1.254” \$ route \$ ip r ルーティングテーブル表示r はroute \$ arp \$ ip n ARPテーブル表示n はneighbor \$ netstat \$ ss ネットワーク接続、インターフェイスの状態などを表示。しかし2014/10/10現在では、ssコマンドを使うのは推奨しません。「UDPの開放ポートがTCPと報告される」というバグががあるそうです。http://d.hatena.ne.jp/ozuma/20140915/1410774381 \$ netstat -i \$ ip -s l ネットワークインターフェースの統計情報を表示l はLink。 \$ ifup eth0\$ ifdown eth0 \$ nmcli c up eno0\$ nmcli c down eno0 インターフェイスをup / downする \$ nmcli device 管理されてるネットワークインターフェイスを表示 ネットワーク周りの変更点 ①NICの設定は、NetworkManagerで行う。インターフェイスでNM_CONTROLLED=”yes”にしないと、/etc/resolv.confの設定が初期化される。インターフェイスにDNS1=”8.8.8.8″を書いて、resolvに反映させるか、/etc/NetworkManager/NetworkManager.confにdns=noneを書いて、直接resolv.confを編集するかを選択。②WiFi, Infiniband, VPN, Bonding, Bridge, VLANなどの設定を統合。③今まで/etc/sysconfig/network-scriptsや、ifupコマンドなどネットワーク周りのコマンドも統合。なので、ifconfigなどが含まれてたnet-toolsはデフォルトでインストールされなくなった。(centos7からはiproute2)④40GbE対応。⑤eth0➡eno0に変更⑥6➡7に移行出来るように、/etc/sysconfig/network-scripts/配下のコンフィグは有効となっている。 DB MySQL MariaDB MySQLからフォークしてきたものなので、あまり違いはない。InnoDB➡XtraDBに置き換わる
MariaDBとMySQLのレプリケーションは可能でした。 NTP 6.5よりサポート PTP(Precision Time Protocol)v2 6.5でも採用しているがNTPより高精度で、PTP対応NICでパケット送信時にタイムスタンプを付与して誤差を削減。PTP対応ドライバはbnx2x, tg3, e1000e, igb, ixgbe, sfc。 chrony ntpdに代わりデフォルトになった。一応ntpdもデフォルトで入ってますが、バージョンが上がるにつれてchronyに移行するのではないかと思います同期時間の短縮や、設定ファイルは /etc/chrony.confNTP vs Chrony速度測定 Memory freeコマンドと/proc/meminfoにavailableが表示されるようになった パスワードを忘れたときの対処 ①grubメニュー画面で矢印でOSを選び、eボタン②kernelを選んでeボタン③最後尾にsingleを入力し、Enter④passwdで変更してください⑤再起動\$ reboot ①grubメニュー画面で矢印でOSを選び、eボタン②linux16と書いている部分の最後尾にrd.breakを追加する③ctrl+xで起動④sysrootをrwで再マウントする\$ mount -o remount,rw /sysroot⑤ルートディレクトリを/sysrootに変更\$ chroot /sysroot⑥パスワードを変更\$ passwd⑦selinuxを使ってるなら、再起動後、自動でラベリングを付け直すようにファイルを作成する。\$ touch /.autorelabel⑧再起動\$ reboot fstabの記述ミスで起動しなくなったときの対処 ①Give root passwrd for maintenance(or type Control-D to continue):と表示されるのでパスワードを入力し、メンテナンスモードに入る②ファイルシステムがReadOnlyでマウントされてるので、rwでマウントし直す\$ mount -o remount,rw /③\$ mount -aで、エラーを見て、適宜/etc/fstabを書き換え、reboot ①grubメニュー画面で矢印でOSを選び、eボタン②linux16と書いている部分の最後尾にsystemd.unit=emergency.targetを追加する③ctrl+xで起動④passwordを入力しメンテナンスモードでログイン⑤ファイルシステムがReadOnlyでマウントされてるので、rwでマウントし直す\$ mount -o remount,rw /⑥\$ mount -aで、エラーを見て、適宜/etc/fstabを書き換え、reboot

我的感受

    意外にNTP周りが進化してました。爆速に。
    「設定ファイルをいじる」より「コマンドで設定を変更する」という方式に倒そうとしてる感じがします
    コマンドの統合が全体的に見受けられました。特にsystemctl。コマンド統合によって設定ファイルの場所を覚えなくて済みますし、設定時に打つ文字も減って便利。ただ、$ systemctl list-unit-filesを打つのはめんどくさい。。
    コマンドの統合➡新しいコマンドを覚えなければならないという学習コスト。
    targetcli不安定すぎる。時間が経つと急にservice failedになったり。
    systemctlコマンドで、サービス名のtab補完が効かないのが本当に辛い。デフォルトで入れて欲しい。

bannerAds