CentOS7
CentOS7:記事リスト
CentOS7のカテゴリーには以下の記事がリストされています。
CentOS7でネットワークデバイス名を変更する
任意の名前を付けるようになりました。
例としては「eno1」、「eno2」や、「p4p2」など本当にバリエーションは様々です。
※CentOS6系では、eth0、eth1と付けていました。
しかし、この新しいネットワークデバイス名だと
システム的に不具合がある場合があります。
例えば、古いソフトウェアを使用したいという場合、
eth0やeth1でないと正しく動作しないというケースです。
そのような場合は、ネットワークデイバイス名を
従来のCentOS6系のものに編集することで対応できます。
現在のネットワーク状況を確認
下記例では、ネットワークデバイス名がp4p2になっています。これをeth0に変更します。
# ip addr
1: lo:
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: p4p2:
link/ether 58:8a:5a:29:2b:ba brd ff:ff:ff:ff:ff:ff
inet 192.168.0.37/24 brd 192.168.0.255 scope global noprefixroute p4p2
valid_lft forever preferred_lft forever
inet6 fe80::5a8a:5aff:fe29:2bba/64 scope link
valid_lft forever preferred_lft forever
3: wlan0:
link/ether 9c:30:5b:2b:32:6f brd ff:ff:ff:ff:ff:ff
/etc/default/grubファイルの編集
/etc/default/grubファイルを編集します。GRUB_CMDLINE_LINUXの行に「net.ifnames=0」と「biosdevname=0」を追加します。
編集後は「:wq」で保存終了します。
# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos_tiger/root
rd.lvm.lv=centos_tiger/swap net.ifnames=0 biosdevname=0 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
・CentOS7ではNICの名前が
eno1、p4p2 のように自動命名される・
ip link show コマンドで現在のネットワークデバイス名を確認できる・nmcliとifcfgファイルの編集でネットワークデバイス名を変更できる
CentOS7 Hostname(ホスト名)を変更する
変更方法にはいくつか種類があります。
・
hostname 新ホスト名 で一時的に変更できる(再起動で元に戻る)・
hostnamectl set-hostname 新ホスト名 で恒久的に変更できる(推奨)・
/etc/hostname ファイルを直接編集してもホスト名を変更できるlocalectlコマンドでCentOS7のロケールを確認・変更する方法|日本語・英語の切り替えも
「localectlコマンドの使い方がわからない」
この記事では、CentOS 7 / RHEL 7以降のsystemd環境でlocaleを確認・変更する方法を解説します。
localectlコマンドの基本から、使用可能なロケール一覧の確認、日本語化・英語化の手順まで実践的に解説します。
・
localectl status で現在のロケール設定を確認できる・
localectl set-locale LANG= で言語ロケールを変更できる(再起動不要、再ログインで反映)・CentOS 7以降では
localectlが推奨。/etc/locale.confも自動更新されるCentOS7でrootのSSHログインを無効化する
「rootでのSSH接続を許可したままサーバーを公開しているのが不安」
インターネットに公開するLinuxサーバーでは、rootアカウントへのSSH直接ログインを無効にするのはセキュリティの基本です。
rootパスワードが漏洩した場合や、ブルートフォース攻撃に対して脆弱になります。
この記事では、CentOS7 / RHEL7でrootのSSHログインを無効化する手順を解説します。
・
PermitRootLogin no を /etc/ssh/sshd_config に設定するだけで無効化できる・設定後は
systemctl restart sshd で反映が必要・無効化前に必ず一般ユーザー+sudo環境を整えてからロックアウトを防ぐ
CentOS7でfirewalldの確認と停止(ファイアウォール)
そんな疑問を持つ方は多いです。
CentOS7からファイアウォールの推奨ツールがiptablesからfirewalldに変わりました。
開発環境や内部ネットワーク専用サーバーでは、ファイアウォールを一時的に停止したい場面もあります。
この記事では、CentOS7のfirewalldの状態確認と停止方法を解説します。
・
firewall-cmd --list-services で許可されているサービスを確認できる・
systemctl stop firewalld で即時停止、systemctl disable firewalld で恒久停止・本番サーバーでは停止せず、必要なポートだけ開放するのが正しい対処
CentOS 7のバージョンアップ手順|yum updateの実行方法と注意点
「yum updateを実行しても大丈夫? サーバーが起動しなくなったりしない?」
OSのバージョンアップは、セキュリティパッチの適用やバグ修正のために定期的に行う必要があります。しかし、手順を誤るとシステムが起動しなくなるリスクもあります。
この記事では、CentOS 7のバージョンアップ手順と注意点を解説します。
yum updateの実行方法、カーネルをアップデート対象から除外する方法、事前のバックアップとテスト環境での確認手順まで、安全にバージョンアップするために必要な知識をまとめました。
※ CentOS 7は2024年6月30日にEOL(サポート終了)となりました。新規構築ではAlmaLinuxやRocky Linuxへの移行を推奨します。本記事はCentOS 7環境の保守・運用を行っている方向けの手順です。RHEL 9系(AlmaLinux 9/Rocky Linux 9)では
dnf update コマンドを使用してください。・
yum update でCentOS 7のパッケージを一括アップデートできる・本番環境の実行前はテスト環境で事前確認とバックアップが必須
・カーネルは除外してアップデートするのが安全
・CentOS 7はEOL済み。新規構築はAlmaLinux/Rocky Linuxを推奨
CentOS7のNICをCentOS6系のeth0にする方法|net.ifnames=0の設定手順
そんなトラブルに困った経験はないでしょうか。
CentOS7からNICの命名規則が変わり、ネットワークインターフェース名が
enp0s3 や p4p2 のような形式で自動割り当てされるようになりました。一部のソフトウェアやスクリプトは
eth0 を前提にしているため、互換性の問題が起きることがあります。
この記事では、CentOS7のNIC名をCentOS6系の
eth0 形式に変更する手順を解説します。設定変更には再起動が必要になりますので、メンテナンス時間を確保してから作業してください。
なぜCentOS7でNIC名が変わったのか
CentOS7(RHEL7)から採用された命名規則は「Predictable Network Interface Names(予測可能なネットワーク名)」と呼ばれます。従来の
eth0 形式は、NICの認識順序によって名前が変わる場合があり、複数NICを搭載したサーバーで予期せぬ動作を引き起こすことがありました。
新しい命名規則はPCI接続位置などのハードウェア情報を元に決まるため、
再起動後も名前が変わらないのが特徴です。
ただし、既存スクリプトやソフトウェアとの互換性を保ちたい場合は、
従来の
eth0 形式に戻す設定が必要です。
CentOS7のNIC名をeth0に変更する手順
1. /etc/default/grubを編集してnet.ifnames=0を追加する
カーネルの起動パラメータにnet.ifnames=0 biosdevname=0 を追加します。まず現在の設定を確認します。
# grep GRUB_CMDLINE_LINUX /etc/default/grub GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_CMDLINE_LINUX の末尾、閉じダブルクォートの直前に net.ifnames=0 biosdevname=0 を追加します。# vi /etc/default/grub GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"
2. GRUBの設定を再生成する
編集した内容をGRUBの設定ファイルに反映させます。# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img done
3. NICの設定ファイルをリネームする
/etc/sysconfig/network-scripts/ 配下の設定ファイルを ifcfg-eth0 にリネームします。現在のNIC名(例:p4p2)は環境によって異なりますので、
ls /etc/sysconfig/network-scripts/ で確認してください。# mv /etc/sysconfig/network-scripts/ifcfg-p4p2 /etc/sysconfig/network-scripts/ifcfg-eth0
4. 現在のMACアドレスを確認する
次の手順で設定ファイルを編集するために、NICのMACアドレスを控えます。# nmcli device show | grep HWADDR GENERAL.ハードウェアアドレス: 58:8A:5A:29:2B:BA
5. NICの設定ファイルを編集する
リネームしたifcfg-eth0 を編集し、NAME・DEVICE・HWADDRを修正します。# vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes NAME=eth0 HWADDR=58:8A:5A:29:2B:BA UUID=22f748d6-6718-47ac-bc27-7188a419465f DEVICE=eth0 ONBOOT=yes IPADDR=192.168.0.36 PREFIX=24 GATEWAY=192.168.0.1 DNS1=192.168.0.1
・DEVICE:eth0 に変更します
・HWADDR:手順4で確認したMACアドレスを追記します
6. サーバーを再起動する
# shutdown -r now
7. NIC名がeth0になったか確認する
# nmcli device show | head -5 GENERAL.デバイス: eth0 GENERAL.タイプ: ethernet GENERAL.ハードウェアアドレス: 58:8A:5A:29:2B:BA GENERAL.MTU: 1500 GENERAL.状態: 100 (接続済み)
GENERAL.デバイス が eth0 になっていれば変更成功です。
本記事のまとめ
| 手順 | コマンド/操作 |
|---|---|
| GRUBパラメータ追加 | vi /etc/default/grub → net.ifnames=0 biosdevname=0を追記 |
| GRUB設定を再生成 | grub2-mkconfig -o /boot/grub2/grub.cfg |
| 設定ファイルをリネーム | mv /etc/sysconfig/network-scripts/ifcfg-p4p2 /etc/sysconfig/network-scripts/ifcfg-eth0 |
| MACアドレスの確認 | nmcli device show |
| 設定ファイルの編集 | vi /etc/sysconfig/network-scripts/ifcfg-eth0 |
| サーバー再起動 | shutdown -r now |
CentOS7でログ容量制限を設定する方法|journaldのSystemMaxUse設定と容量確認
そんな悩みを持つエンジニアは多いです。
CentOS7から採用されたjournaldは、デフォルトでファイルシステムの10%をログ領域として確保します。
放置すると気づかないうちにディスクを圧迫し、サービス停止につながることがあります。
この記事では、journaldのログ容量制限の設定方法と、現在のログ使用量の確認コマンドを解説します。
journaldとは?CentOS7のログ管理の仕組み
CentOS7から、ログ管理はsyslogからjournaldへと移行しました。journaldはsystemdの一部として動作し、カーネルログ・サービスログ・アプリケーションログを一元管理します。
journaldの主な特徴は以下の通りです。
・自動ログローテート:指定した最大容量を超えた古いログを自動削除します
・syslogとの連携:従来のrsyslogにログを転送する機能を持ちます
・カーネルログのサポート:カーネルバッファ(kmsg)からのログも統合管理します
デフォルトの容量制限はファイルシステムの10%ですが、
本番サーバーでは明示的に上限を設定しておくことが鉄則です。
journaldのログ容量制限を設定する方法
ログ容量の制限は、/etc/systemd/journald.conf の SystemMaxUse パラメータで設定します。
1. journald.confを編集する
viまたはnanoで設定ファイルを開きます。# vi /etc/systemd/journald.conf
[Journal] セクションに、以下の行を追加または変更します。[Journal] Storage=persistent SystemMaxUse=256M
Storage=persistent は、ログをディスク(/var/log/journal/)に永続保存する設定です。デフォルトの
auto だと、ディレクトリが存在しない場合はメモリ上にしか保存されません。容量の単位はK(キロバイト)、M(メガバイト)、G(ギガバイト)が使用できます。
編集が完了したら
:wq で保存します。
2. journaldサービスを再起動する
設定を反映させるには、journaldサービスを再起動します。# systemctl restart systemd-journald.service
3. 設定が反映されたか確認する
# journalctl --disk-usage Journals take up 24.0M on disk.
設定した256Mを超えることはなく、古いログから自動的に削除されます。
その他の容量制限パラメータ
journald.confには、SystemMaxUse 以外にも関連する設定があります。| パラメータ | 説明 | デフォルト |
|---|---|---|
SystemMaxUse |
ディスク上のジャーナル最大容量 | ファイルシステムの10% |
SystemKeepFree |
ディスクに残す最小空き容量 | ファイルシステムの15% |
SystemMaxFileSize |
個々のジャーナルファイルの最大サイズ | SystemMaxUseの1/8 |
RuntimeMaxUse |
メモリ上のジャーナル最大容量(tmpfs) | 物理メモリの10% |
実務では
SystemMaxUse と SystemKeepFree をセットで設定することで、ディスク空き容量を安全に確保できます。
古いログを手動で削除する方法
容量制限の設定とは別に、journalctl コマンドで古いログを手動削除できます。# 2週間以上前のログを削除する # journalctl --vacuum-time=2weeks # 100MB以上のログを削除する # journalctl --vacuum-size=100M
本記事のまとめ
| やりたいこと | コマンド/設定 |
|---|---|
| ログ容量制限を設定する | /etc/systemd/journald.conf の SystemMaxUse=256M |
| journaldを再起動する | systemctl restart systemd-journald.service |
| 現在のログ使用量を確認する | journalctl --disk-usage |
| 古いログを期間で削除する | journalctl --vacuum-time=2weeks |
| 古いログを容量で削除する | journalctl --vacuum-size=100M |
CentOS7でログ保存設定をする
CentOS7のjournaldは、デフォルトでは
/run/log/journal(tmpfs)に保存するため、再起動するとログが消えてしまいます。この記事では、journaldのログを再起動後も保持する永続保存の設定方法を解説します。
この記事のポイント
・デフォルトのjournaldログは /run/log/journal(tmpfs)に保存されOSの再起動で消える
・Storage=persistent 設定で /var/log/journal/ に永続保存される
・設定後は systemctl restart systemd-journald.service でサービスを再起動する
・machine-id名のサブディレクトリ配下にログが保存される
journalctlコマンドでCentOS7のsystemdログを確認する方法|フィルタリング・リアルタイム監視の実践ガイド
「journaldとrsyslogの違いや関係性を理解したい」
この記事では、CentOS 7以降のsystemd環境で使用するjournalctlコマンドの基本的な使い方から、実務でよく使うフィルタリングの方法まで解説します。
・journalctlはsystemdのログ管理システム(journald)のログを表示するコマンド
・-b でブートログ、-u でサービス別ログ、--since/--until で日時フィルタリングができる
・-f でtailと同様のリアルタイム監視、-e で末尾からジャンプして最新ログを確認できる
続きを読む "journalctlコマンドでCentOS7のsystemdログを確認する方法|フィルタリング・リアルタイム監視の実践ガイド"
CentOS7のホスト名設定|hostnamectlとnmcliコマンドの使い方
「nmcliとhostnamectlのどちらを使うべきか迷っている」
CentOS7以降では、ホスト名の管理方法がCentOS6から変わりました。
hostnamectlやnmcliを使うのが標準的なやり方です。この記事では、CentOS7でのホスト名確認・変更方法を、hostnamectlとnmcliそれぞれのコマンドで解説します。
/etc/hostname で管理される(CentOS6は /etc/sysconfig/network)・
hostnamectl set-hostname がCentOS7以降の標準的なホスト名変更コマンド・
nmcli general hostname ホスト名 でも変更可能・変更はOS再起動なしに即時反映される
・
hostnamectl でstatic/transient/prettyの3種類のホスト名を管理できるCentOS7・RHEL7系のネットワーク設定方法|nmcli・NetworkManagerの実践ガイド
「nmcliの使い方が多すぎて、どれを覚えればいいか分からない」
CentOS7/RHEL7以降のLinuxでは、ネットワーク管理の仕組みがNetworkManager中心に切り替わりました。
この記事では、CentOS7/RHEL7系でのネットワーク設定方法について、NetworkManagerと
nmcliコマンドを中心に、固定IPアドレス設定・DNS設定・デフォルトゲートウェイ・接続状態の確認・トラブル対処までを解説します。現場でそのまま使える実践コマンドを中心にまとめています。nmcliコマンドで行うのが現場流・接続プロファイル単位で管理され、
connectionとdeviceの2階層を理解すれば全体像が掴める・固定IP・DNS・ゲートウェイ・DHCP切り替えまで、
nmcliだけで完結できる続きを読む "CentOS7・RHEL7系のネットワーク設定方法|nmcli・NetworkManagerの実践ガイド"
CentOS7の新機能|アーキテクチャ・systemd・firewalld・XFSの主要変更点
「CentOS6からの移行に際して何を確認すればいいか分からない」
CentOS7は単なるバージョンアップではなく、ファイルシステム・initシステム・ファイアウォール・ブートローダーなど、サーバー運用の根幹に関わる変更が多数行われました。
この記事では、CentOS7の主要な新機能・変更点をカテゴリごとに整理して解説します。
・カーネル3.10採用でテラバイトクラスメモリ対応・kpatch(無停止カーネルパッチ)が可能
・デフォルトファイルシステムがext4からXFSに変更
・initからsystemdへ移行し、起動・停止が並列化・高速化
・iptablesからfirewalldへ変更、ゾーンによるセキュリティ管理が可能
CentOS7で変わったinit廃止とsystemd導入|ランレベルとターゲットの対応関係を解説
「ランレベルとsystemdのターゲットの対応が知りたい」
CentOS7では、従来のinitに代わってsystemdがサービス管理の仕組みとして採用されました。この変更はLinuxの起動・停止・サービス管理の根幹に関わるため、CentOS6以前に慣れた方には戸惑いが生じやすい変更です。
この記事では、initとsystemdの違い、ランレベルとsystemdターゲットの対応関係、CentOS7での確認方法を解説します。
・systemdは並列処理が可能なため、起動・停止が高速化された
・ランレベルの代わりに「ターゲット」という概念が導入された
・ランレベル3→multi-user.target、ランレベル5→graphical.target に対応
・
systemctl isolate ターゲット名 でランレベルの切り替えが行えるCentOS7のアーキテクチャ変更点|CPU・メモリ・ファイルシステム・パッケージバージョンの比較
「CentOS7のスペック上限やファイルシステムの変更点を確認したい」
CentOS7は従来バージョンと比較して、対応アーキテクチャやCPU・メモリの最大値、ファイルシステムの仕様が大幅に変わりました。
この記事では、CentOS7のアーキテクチャ変更点として、サポートアーキテクチャの変化、論理CPU数・メモリ・ファイルシステムサイズの上限、主要パッケージのバージョン情報をまとめます。
・最大論理CPU数は160、RAMは最大6TB(従来6比で大幅増加)
・デフォルトファイルシステムがext4からXFSに変更
・カーネル3.10系、Python 2.7、OpenSSH 6.4などが採用
・systemdがinitシステムとして採用(init廃止)
