CentOS7

HOMELinuxtips > CentOS7

CentOS7:記事リスト

CentOS7のカテゴリーには以下の記事がリストされています。

CentOS7でネットワークデバイス名を変更する

CentOS7は、接続されているネットワークデバイスによって
任意の名前を付けるようになりました。
例としては「eno1」、「eno2」や、「p4p2」など本当にバリエーションは様々です。
※CentOS6系では、eth0、eth1と付けていました。

しかし、この新しいネットワークデバイス名だと
システム的に不具合がある場合があります。
例えば、古いソフトウェアを使用したいという場合、
eth0やeth1でないと正しく動作しないというケースです。

そのような場合は、ネットワークデイバイス名を
従来のCentOS6系のものに編集することで対応できます。

現在のネットワーク状況を確認

下記例では、ネットワークデバイス名がp4p2になっています。
これをeth0に変更します。

# ip addr
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
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: mtu 1500 qdisc noop state DOWN group default qlen 1000
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の名前が eno1p4p2 のように自動命名される
ip link show コマンドで現在のネットワークデバイス名を確認できる
・nmcliとifcfgファイルの編集でネットワークデバイス名を変更できる

続きを読む "CentOS7でネットワークデバイス名を変更する"

CentOS7 Hostname(ホスト名)を変更する

CentOS7でHostname(ホスト名)を変更する方法を紹介します。
変更方法にはいくつか種類があります。
hostname 新ホスト名 で一時的に変更できる(再起動で元に戻る)
hostnamectl set-hostname 新ホスト名 で恒久的に変更できる(推奨)
/etc/hostname ファイルを直接編集してもホスト名を変更できる

続きを読む "CentOS7 Hostname(ホスト名)を変更する"

localectlコマンドでCentOS7のロケールを確認・変更する方法|日本語・英語の切り替えも

「CentOS 7で日本語・英語のロケールを切り替えたい」
「localectlコマンドの使い方がわからない」

この記事では、CentOS 7 / RHEL 7以降のsystemd環境でlocaleを確認・変更する方法を解説します。
localectlコマンドの基本から、使用可能なロケール一覧の確認、日本語化・英語化の手順まで実践的に解説します。
localectl status で現在のロケール設定を確認できる
localectl set-locale LANG= で言語ロケールを変更できる(再起動不要、再ログインで反映)
・CentOS 7以降ではlocalectlが推奨。/etc/locale.confも自動更新される

続きを読む "localectlコマンドでCentOS7のロケールを確認・変更する方法|日本語・英語の切り替えも"

CentOS7でrootのSSHログインを無効化する

「SSHでrootログインを禁止したいけど、設定方法がわからない」
「rootでのSSH接続を許可したままサーバーを公開しているのが不安」

インターネットに公開するLinuxサーバーでは、rootアカウントへのSSH直接ログインを無効にするのはセキュリティの基本です。
rootパスワードが漏洩した場合や、ブルートフォース攻撃に対して脆弱になります。

この記事では、CentOS7 / RHEL7でrootのSSHログインを無効化する手順を解説します。
PermitRootLogin no/etc/ssh/sshd_config に設定するだけで無効化できる
・設定後は systemctl restart sshd で反映が必要
・無効化前に必ず一般ユーザー+sudo環境を整えてからロックアウトを防ぐ

続きを読む "CentOS7でrootのSSHログインを無効化する"

CentOS7でfirewalldの確認と停止(ファイアウォール)

「firewalldを停止したいけど、コマンドが分からない」「iptablesとfirewalldの違いは?」
そんな疑問を持つ方は多いです。

CentOS7からファイアウォールの推奨ツールがiptablesからfirewalldに変わりました。
開発環境や内部ネットワーク専用サーバーでは、ファイアウォールを一時的に停止したい場面もあります。

この記事では、CentOS7のfirewalldの状態確認と停止方法を解説します。
firewall-cmd --list-services で許可されているサービスを確認できる
systemctl stop firewalld で即時停止、systemctl disable firewalld で恒久停止
・本番サーバーでは停止せず、必要なポートだけ開放するのが正しい対処

続きを読む "CentOS7でfirewalldの確認と停止(ファイアウォール)"

CentOS 7のバージョンアップ手順|yum updateの実行方法と注意点

「CentOSを最新バージョンにアップデートしたいけど、手順と注意点を確認したい」
「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を推奨

続きを読む "CentOS 7のバージョンアップ手順|yum updateの実行方法と注意点"

CentOS7のNICをCentOS6系のeth0にする方法|net.ifnames=0の設定手順

「CentOS7でeth0が使えない」「NIC名がenp0s3になってしまってスクリプトが動かない」
そんなトラブルに困った経験はないでしょうか。

CentOS7からNICの命名規則が変わり、ネットワークインターフェース名が
enp0s3p4p2 のような形式で自動割り当てされるようになりました。
一部のソフトウェアやスクリプトは 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

表示されたMACアドレスをメモしておきます。

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

NAME:eth0 に変更します
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のNICをCentOS6系のeth0にする方法|net.ifnames=0の設定手順"

CentOS7でログ容量制限を設定する方法|journaldのSystemMaxUse設定と容量確認

「ログが増えすぎてディスクがいっぱいになった」「journaldの容量制限ってどう設定するの?」
そんな悩みを持つエンジニアは多いです。

CentOS7から採用されたjournaldは、デフォルトでファイルシステムの10%をログ領域として確保します。
放置すると気づかないうちにディスクを圧迫し、サービス停止につながることがあります。

この記事では、journaldのログ容量制限の設定方法と、現在のログ使用量の確認コマンドを解説します。

journaldとは?CentOS7のログ管理の仕組み

CentOS7から、ログ管理はsyslogからjournaldへと移行しました。
journaldはsystemdの一部として動作し、カーネルログ・サービスログ・アプリケーションログを一元管理します。

journaldの主な特徴は以下の通りです。

自動ログローテート:指定した最大容量を超えた古いログを自動削除します
syslogとの連携:従来のrsyslogにログを転送する機能を持ちます
カーネルログのサポート:カーネルバッファ(kmsg)からのログも統合管理します

デフォルトの容量制限はファイルシステムの10%ですが、
本番サーバーでは明示的に上限を設定しておくことが鉄則です。

journaldのログ容量制限を設定する方法

ログ容量の制限は、/etc/systemd/journald.confSystemMaxUse パラメータで設定します。

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%

実務では SystemMaxUseSystemKeepFree をセットで設定することで、
ディスク空き容量を安全に確保できます。

古いログを手動で削除する方法

容量制限の設定とは別に、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でログ容量制限を設定する方法|journaldのSystemMaxUse設定と容量確認"

CentOS7でログ保存設定をする

「CentOS7でサーバーを再起動したらjournalのログが消えてしまった。永続化する方法はないのか」
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名のサブディレクトリ配下にログが保存される

続きを読む "CentOS7でログ保存設定をする"

journalctlコマンドでCentOS7のsystemdログを確認する方法|フィルタリング・リアルタイム監視の実践ガイド

「CentOS 7以降でログの確認方法が変わったと聞いたけど、journalctlの使い方がわからない」
「journaldとrsyslogの違いや関係性を理解したい」

この記事では、CentOS 7以降のsystemd環境で使用するjournalctlコマンドの基本的な使い方から、実務でよく使うフィルタリングの方法まで解説します。
【この記事でわかること】
・journalctlはsystemdのログ管理システム(journald)のログを表示するコマンド
・-b でブートログ、-u でサービス別ログ、--since/--until で日時フィルタリングができる
・-f でtailと同様のリアルタイム監視、-e で末尾からジャンプして最新ログを確認できる

続きを読む "journalctlコマンドでCentOS7のsystemdログを確認する方法|フィルタリング・リアルタイム監視の実践ガイド"

CentOS7のホスト名設定|hostnamectlとnmcliコマンドの使い方

「CentOS7でホスト名を変更したいが、何のコマンドを使えばいいか分からない」
「nmcliとhostnamectlのどちらを使うべきか迷っている」

CentOS7以降では、ホスト名の管理方法がCentOS6から変わりました。hostnamectlnmcliを使うのが標準的なやり方です。

この記事では、CentOS7でのホスト名確認・変更方法を、hostnamectlとnmcliそれぞれのコマンドで解説します。

・CentOS7ではホスト名は /etc/hostname で管理される(CentOS6は /etc/sysconfig/network
hostnamectl set-hostname がCentOS7以降の標準的なホスト名変更コマンド
nmcli general hostname ホスト名 でも変更可能
・変更はOS再起動なしに即時反映される
hostnamectl でstatic/transient/prettyの3種類のホスト名を管理できる

続きを読む "CentOS7のホスト名設定|hostnamectlとnmcliコマンドの使い方"

CentOS7・RHEL7系のネットワーク設定方法|nmcli・NetworkManagerの実践ガイド

「CentOS7でIPアドレスを固定したいけど、昔のifcfgファイル直編集でいいのか不安」
「nmcliの使い方が多すぎて、どれを覚えればいいか分からない」
CentOS7/RHEL7以降のLinuxでは、ネットワーク管理の仕組みがNetworkManager中心に切り替わりました。

この記事では、CentOS7/RHEL7系でのネットワーク設定方法について、NetworkManagerとnmcliコマンドを中心に、固定IPアドレス設定・DNS設定・デフォルトゲートウェイ・接続状態の確認・トラブル対処までを解説します。現場でそのまま使える実践コマンドを中心にまとめています。
・CentOS7/RHEL7以降はNetworkManagerが標準。設定はnmcliコマンドで行うのが現場流
・接続プロファイル単位で管理され、connectiondeviceの2階層を理解すれば全体像が掴める
・固定IP・DNS・ゲートウェイ・DHCP切り替えまで、nmcliだけで完結できる

続きを読む "CentOS7・RHEL7系のネットワーク設定方法|nmcli・NetworkManagerの実践ガイド"

CentOS7の新機能|アーキテクチャ・systemd・firewalld・XFSの主要変更点

「CentOS7でどのような新機能が追加されたか把握したい」
「CentOS6からの移行に際して何を確認すればいいか分からない」

CentOS7は単なるバージョンアップではなく、ファイルシステム・initシステム・ファイアウォール・ブートローダーなど、サーバー運用の根幹に関わる変更が多数行われました。

この記事では、CentOS7の主要な新機能・変更点をカテゴリごとに整理して解説します。

・64ビット版(x86_64)のみサポートで32ビット版は廃止
・カーネル3.10採用でテラバイトクラスメモリ対応・kpatch(無停止カーネルパッチ)が可能
・デフォルトファイルシステムがext4からXFSに変更
・initからsystemdへ移行し、起動・停止が並列化・高速化
・iptablesからfirewalldへ変更、ゾーンによるセキュリティ管理が可能

続きを読む "CentOS7の新機能|アーキテクチャ・systemd・firewalld・XFSの主要変更点"

CentOS7で変わったinit廃止とsystemd導入|ランレベルとターゲットの対応関係を解説

「CentOS7からinitがなくなってsystemdになったと聞いたが、何が変わったのか分からない」
「ランレベルとsystemdのターゲットの対応が知りたい」

CentOS7では、従来のinitに代わってsystemdがサービス管理の仕組みとして採用されました。この変更はLinuxの起動・停止・サービス管理の根幹に関わるため、CentOS6以前に慣れた方には戸惑いが生じやすい変更です。

この記事では、initとsystemdの違い、ランレベルとsystemdターゲットの対応関係、CentOS7での確認方法を解説します。

・CentOS7からinitが廃止され、systemdが採用された
・systemdは並列処理が可能なため、起動・停止が高速化された
・ランレベルの代わりに「ターゲット」という概念が導入された
・ランレベル3→multi-user.target、ランレベル5→graphical.target に対応
systemctl isolate ターゲット名 でランレベルの切り替えが行える

続きを読む "CentOS7で変わったinit廃止とsystemd導入|ランレベルとターゲットの対応関係を解説"

CentOS7のアーキテクチャ変更点|CPU・メモリ・ファイルシステム・パッケージバージョンの比較

「CentOS6からCentOS7に移行する際、何が変わったか把握したい」
「CentOS7のスペック上限やファイルシステムの変更点を確認したい」

CentOS7は従来バージョンと比較して、対応アーキテクチャやCPU・メモリの最大値、ファイルシステムの仕様が大幅に変わりました。

この記事では、CentOS7のアーキテクチャ変更点として、サポートアーキテクチャの変化、論理CPU数・メモリ・ファイルシステムサイズの上限、主要パッケージのバージョン情報をまとめます。

・CentOS7は32ビット版x86が廃止され、x86_64のみをサポート
・最大論理CPU数は160、RAMは最大6TB(従来6比で大幅増加)
・デフォルトファイルシステムがext4からXFSに変更
・カーネル3.10系、Python 2.7、OpenSSH 6.4などが採用
・systemdがinitシステムとして採用(init廃止)

続きを読む "CentOS7のアーキテクチャ変更点|CPU・メモリ・ファイルシステム・パッケージバージョンの比較"