CentOS7、Stream 8的系统管理命令备忘录

这是关于CentOS 7和Stream 8系统管理命令的备忘录。

文章的前提环境:

    • CentOS 7 / Stream 8 (x86_64)

 

    • インストールタイプ: Minimal Install

 

    インストール時のキーボードタイプ: Japanese を選択

红帽企业级 Linux(RHEL)的文档参考:

    • CentOS 7 : Product Documentation for Red Hat Enterprise Linux 7

CentOS 8/Stream 8 : Product Documentation for Red Hat Enterprise Linux 8

在本文中,参考Red Hat Enterprise Linux(RHEL)的官方文档。

基本设置

常用于系统管理的基本配置备忘录。

操作系统的版本信息

检查 /etc/ 目录下的 *-release 文件和 *-version 文件。

[CentOS 7/Stream 8 共通]
$ ls -l /etc/*release
-rw-r--r--. 1 root root 37 Nov 24  2020 /etc/centos-release
lrwxrwxrwx. 1 root root 21 Aug 22 23:36 /etc/os-release -> ../usr/lib/os-release
lrwxrwxrwx. 1 root root 14 Aug 22 23:36 /etc/redhat-release -> centos-release
lrwxrwxrwx. 1 root root 14 Aug 22 23:36 /etc/system-release -> centos-release

$ ls -l /etc/*version

[保有パッケージ: CentOS 7]
$ rpm -qf /usr/lib/os-release
centos-release-7-9.2009.1.el7.centos.x86_64

$ rpm -qf /etc/centos-release
centos-release-7-9.2009.1.el7.centos.x86_64

[保有パッケージ: CentOS Stream 8]
$ rpm -qf /usr/lib/os-release
centos-stream-release-8.5-3.el8.noarch

$ rpm -qf /etc/centos-release
centos-stream-release-8.5-3.el8.noarch

CentOS 7/Stream 8 文件内容(例如):

[例: CentOS 7 : /etc/centos-release]
$ cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

[例: CentOS 7 : /etc/os-release]
$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

[例: CentOS Stream 8 : /etc/centos-release]
$ cat /etc/centos-release
CentOS Stream release 8

[例: CentOS Stream 8 : /etc/os-release]
$ cat /etc/os-release
NAME="CentOS Stream"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Stream 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"

日期和时间、区域设置、主机名

“参考:”

    • Red Hat Enterprise Linux 7 システム管理者のガイド, 第1章 はじめに, 1.1. 環境の基本設定

Red Hat Enterprise Linux 7 ネットワークガイド, 第6章 ホスト名の設定

Red Hat Enterprise Linux 8 基本的なシステム設定の構成, 第2章 基本的な環境設定の変更

日期和时间

$ man 1 date

$ date
Tue Aug 24 16:33:53 JST 2021

$ man 1 timedatectl

$ timedatectl
      Local time: Tue 2021-08-24 16:33:42 JST
  Universal time: Tue 2021-08-24 07:33:42 UTC
        RTC time: Mon 2021-08-23 20:29:03
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

※設定を更新する際は sudo timedatectl ...

本地环境(系统语言、字符编码、键盘布局)

$ man 1 localectl

$ localectl
   System Locale: LANG=en_US.UTF-8
       VC Keymap: jp
      X11 Layout: jp

※設定を更新する際は sudo localectl ...

主机名称

    • man 1 hostnamectl

pretty hostname

記号など含むホスト名
例: Lennart’s Laptop

保存先: /etc/machine-info (未設定の場合は作成されない?)
see: man 5 machine-info

static hostname

起動時に初期化されるkernel用ホスト名
例: lennarts-laptop

保存先: /etc/hostname

see man 5 hostname

transient hostname

DHCPなどネットワーク設定で取得するホスト名
static hostnameが使えないときのfallback用

$ man 1 hostnamectl

$ hostnamectl
   Static hostname: centos-7-t01.localdomain
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 6a6bc562612f0247bc92fcfb812ee614
           Boot ID: a9f7f9a98f71499cb5c78dc8e43d9113
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.36.2.el7.x86_64
      Architecture: x86-64

※設定を更新する際は sudo hostnamectl ...

NTP(chrony)的同步状态

CentOS 7/Stream 8 默认使用 chrony 作为 NTP 客户端。

根据:

    • manページ

man 5 chrony.conf : /etc/chrony.conf 設定ファイル

man 8 chronyd : NTPデーモン

man 1 chronyc : NTPクライアント

Red Hat Enterprise Linux 7 システム管理者のガイド

第18章 chrony スイートを使用した NTP 設定
18.3.5. chrony の同期確認
18.3.5.2. chrony ソースの確認
18.3.6. システムクロックの手動調整

Red Hat Enterprise Linux 8 基本的なシステム設定の構成

第30章 chrony スイートを使用した NTP の設定
第32章 chrony の使用
32.2. chrony の同期確認
32.3. システムクロックの手動調整

安装chronyd:

    • インストール時にネットワーク接続を有効化し、NTPをONにすると chronyd がデフォルトでインストールされ、時刻同期が有効化される。

 

    • ネットワーク接続を有効化しても、NTPがOFFのままだと chronyd がインストールされず、時刻同期も行われないケースがあった。

この場合は、手動で chrony をインストールする必要がある。

$ sudo yum install chrony
or
$ sudo dnf install chrony

$ sudo systemctl enable chronyd
$ sudo systemctl start chronyd
$ sudo systemctl status chronyd

检查chrony的同步状态

$ chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^- rilynn.me.uk                  2   6   377    50  -5138us[-5031us] +/-  140ms
^* i172-105-204-167.poolntp>     3   6   337    47   +258us[ +365us] +/- 5107us
^- 152.115.59.242                2   6   377    46    -36us[  -36us] +/-  157ms
^- ktor1.k-ten.de                2   7     7    36  -1020us[-1020us] +/-  182ms

从RHEL7 “18.3.5.2. chrony源的验证”着重介绍了M、S列的重要性。

    • M 列

ソースのモードを示します。

^ はサーバーを意味し、 = はピアを意味し、 # はローカルに接続された基準クロックを意味します。

S 列

この列は、ソースの状態を示します。

* : chronyd が現在同期しているソースを表します。

+ : 選択したソースと結合する、受け入れ可能なソースを表します。

– : 受け入れ可能なソースで、結合アルゴリズムにより除外されたものを表します。

? : 接続が切断されたソース、またはパケットがすべてのテストをパスしないソースを表します。少なくとも 3 つのサンプルが収集されるまで開始時にも表示されます。

x : chronyd が falseticker と考える (つまり、その時間が他の大半のソースと一致しない) クロックを表します。

~ : 時間の変動性が大きすぎるように見えるソースを表します。

詳細は chronyc(1) 参照

停止逐渐调整系统时钟,一次性修正:

$ sudo chronyc makestep

包管理(yum,dnf)

    • RHEL, CentOS 7 まで

YUM v3 をベースとした yum コマンドを使っていた。

RHEL, CentOS 8 以降

YUM v4 をベースとした dnf コマンドが導入され、今後はこちらがスタンダードとなる見込み。
概要: RHEL8, RHEL 8 の導入における検討事項, 第6章 ソフトウェア管理

yum コマンドベースでのパッケージ管理の説明:

RHEL8, 基本的なシステム設定の構成, 第12章 ソフトウェアパッケージの管理

RHEL8, Configuring basic system settings, Chapter 12. Managing software packages

dnf と yum コマンドの違い:

Changes in DNF CLI compared to YUM — dnf latest documentation
主な yum plugin は dnf の plugin でも提供している。

yum-utils で提供されていたユーティリティコマンドについても dnf の plugin で提供している。
これらの dnf plugin は dnf-plugins-core として、コアのプラグインとして組み込まれている。

dnf-plugins-core が提供するプラグイン一覧については以下参照:

https://dnf-plugins-core.readthedocs.io/en/latest/index.html
あるいは rpm -ql dnf-plugins-core からのmanページ参照 / man -k dnf

命令列表等参考资料

命令列表(备忘单)等参考资料:

    1. 在SST工程师博客中介绍了对学习Linux系统有帮助的命令。基本上可以参考上述文章的“包信息查询”部分。

PDF:适用于Red Hat Enterprise Linux的YUM命令备忘单

yum|启用/禁用yum仓库。

作为补充,将以下与上述参考资料[1]中未包含的仓库相关操作列出。

文件所有者,权限列表

$ sudo rpm -q --qf "[%{FILEMODES:perms} %{FILEUSERNAME}:%{FILEGROUPNAME} %{FILENAMES}\n]" <package-name>
$ sudo rpm -qp --qf "[%{FILEMODES:perms} %{FILEUSERNAME}:%{FILEGROUPNAME} %{FILENAMES}\n]" foobar.rpm

仓库列表/详细信息/添加

[CentOS 7]
(enabledのみ)
$ sudo yum repolist
$ sudo yum repolist enabled

(disabled含む一覧)
$ sudo yum repolist all

(baseリポジトリの詳細)
$ sudo yum repolist base -v

(リポジトリの追加)
$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo <repository-url>

[CentOS Stream 8]
(enabledのみ)
$ sudo dnf repolist
$ sudo dnf repolist enabled

(disabled含む一覧)
$ sudo dnf repolist all

(baseリポジトリの詳細)
$ sudo dnf repolist baseos -v

(リポジトリの追加)
$ sudo dnf config-manager --add-repo <repository-url>

安装EPEL(企业级Linux附加软件包仓库配置)。

[CentOS 7]
$ sudo yum search epel
(...)
============================================================ N/S matched: epel =============================================================
epel-release.noarch : Extra Packages for Enterprise Linux repository configuration

$ sudo yum install epel-release

[CentOS Stream 8]
$ sudo dnf search epel
(...)
============================================================ Name Matched: epel ============================================================
epel-next-release.noarch : Extra Packages for Enterprise Linux Next repository configuration
epel-release.noarch : Extra Packages for Enterprise Linux repository configuration

$ sudo dnf install epel-release

搜索和安装软件包的示例:screen

[CentOS 7]
$ sudo yum --disablerepo=* --enablerepo=base search screen
(...)
=========================================================== N/S matched: screen ============================================================
(...)
screen.x86_64 : A screen manager that supports multiple logins on one terminal
(...)
→ base リポジトリで見つかったので、そのままインストール

$ sudo yum --disablerepo=* --enablerepo=base install screen


[CentOS Stream 8]
$ sudo dnf --disablerepo=* --enablerepo=baseos search screen
→ 見つからない。

$ sudo dnf --disablerepo=* --enablerepo=epel search screen
(...)
====================================================== Name & Summary Matched: screen ======================================================
screen.x86_64 : A screen manager that supports multiple logins on one terminal
(...)

→ EPEL リポジトリにあったのでインストール
$ sudo dnf --disablerepo=* --enablerepo=epel install screen

获取包组的信息

[CentOS Stream 8]
# パッケージグループ一覧表示
$ sudo dnf group list

# --hidden | --installed | --available | --ids はどれか一つだけ指定できる。
$ sudo dnf group list --hidden
$ sudo dnf group list --installed
$ sudo dnf group list --available
$ sudo dnf group list --ids
(-v をつけても良い)

# 特定のパッケージグループに含まれるパッケージ一覧
$ sudo dnf group info "Development Tools"
(dnf group list --ids で表示されるIDを指定する場合:)
$ sudo dnf group info development
(パッケージのバージョンまで表示したい場合:)
$ sudo dnf -v group info "Development Tools"
$ sudo dnf -v group info development
(info コマンドはインストールしていないパッケージグループでも使える)

# パッケージグループのインストール例
$ sudo dnf group install "Development Tools"

dnf组命令参考:

    • How to work with dnf package groups – Linux Tutorials – Learn Linux Configuration

 

    dnf(yum) groupinstallでは何がインストールされているのか – Qiita

AppStream (适用于RHEL 8、CentOS 8及更高版本)。

Can you give me a reference for this?

    • Red Hat Enterprise Linux 8

RHEL 8 の導入における検討事項, 第4章 アプリケーションストリーム

ユーザー空間コンポーネントのインストール、管理、および削除

ここに全て書かれてる

Make & Review | RHEL/CentOS8のAppStream 知識整理
Red Hat Enterprise Linux 8 で 10年維持されるパッケージはどれ? – 赤帽エンジニアブログ

命令提取:

[モジュールの一覧/詳細]
$ sudo dnf module list
$ sudo dnf module list (module-name)
$ sudo dnf module info (module-name)

[パッケージインストール前にストリームを有効化]
$ sudo dnf module enable (module-name):(stream)

[モジュールのコンテンツ(=パッケージ一式)をインストール]
$ sudo dnf module install (module-name)
$ sudo dnf module install (module-name):(stream)
$ sudo dnf module install (module-name):(stream)/(profile)

[アクティブなストリームからすべてのパッケージを削除]
$ sudo dnf module remove --all (module-name)
$ sudo dnf module remove --all (module-name):(stream)
$ sudo dnf module remove --all (module-name):(stream)/(profile)

[モジュールを初期状態へのリセット]
$ sudo dnf module reset (module-name)

[モジュールおよびそのストリームの無効化]
$ sudo dnf module disable (module-name)

通过NetworkManager进行命令行操作

使用NetworkManager的图形界面/文本用户界面/字符用户界面进行设置比使用配置文件更为安全可靠。
通过命令行操作,使用CUI的nmcli(1)方法更为简单。

引用:

    • Red Hat Enterprise Linux 7 ネットワークガイド

 

    • Red Hat Enterprise Linux 8 ネットワークの設定および管理

 

    • man 1 nmcli

 

    • nmcliチートシート – Qiita

 

    nmcliコマンドの基礎 – えんでぃの技術ブログ

网络接口命名规则

在CentOS 7和Stream 8中,采用了可预测的网络接口名作为命名规则。
以前的命名规则是通过kernel在启动时检测到的eth0、eth1等,但存在着因热插拔设备或检测顺序而导致接口名错位的问题。
通过使用可预测的网络接口名,可以实现整体上一致的命名规则,即在设备之间可以唯一确定名称,并且避免接口名的错位。
通过配置,还可以恢复到以前的命名规则。

有关于systemd v197中引入的可预测网络接口命名,请参考以下内容:

    1. 网络接口名称- Debian维基

可预测的网络接口名称

https://systemd.io/PREDICTABLE_INTERFACE_NAMES/
https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

注:Debian与Ubuntu:网络接口名称

有关CentOS 7/8系列和RHEL 7/8系列的接口命名规则,请参考以下内容。

    1. Red Hat Enterprise Linux 7 网络指南, 第11章 网络设备命名的一致性

Red Hat Enterprise Linux 8 网络配置和管理, 第1章 一致命名的网络接口设备

如何使用nmcli

如果安装了bash-completion软件包,nmcli命令的自动补全功能将变得有效,因此推荐安装。

[RHEL7/CentOS7]
$ sudo yum install bash-completion
→ログアウト後、ログインし直す。

[RHEL8/CentOS8/CentOS Stream 8]
$ sudo dnf install bash-completion
→ログアウト後、ログインし直す。

常规的网络命令示例:

[NetworkManager全体のステータス表示]
$ sudo nmcli general
$ sudo nmcli general status
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN
connected  full          enabled  enabled  enabled  enabled

[ホスト名(static hostname)の表示]
$ sudo nmcli general hostname

[ホスト名(static hostname)の設定]
$ sudo nmcli general hostname (new-hostname)

[ネットワーク管理のON/OFF]
$ sudo nmcli networking on
$ sudo nmcli networking off

设备与连接配置文件

在 NetworkManager 中,将物理设备(如以太网适配器)和该设备上的“连接”设置分离。
这样一来,例如在家和办公室都要携带带有以太网适配器的笔记本电脑时,可以将针对同一个设备(笔记本电脑的以太网适配器)的家庭/办公室连接设置切换为连接配置文件的用法变得可能。
以 “nmcli device…” 开头的命令将成为操作设备,即网络接口的命令。
以 “nmcli connection…” 开头的命令将成为操作连接配置文件的命令。

下面的资料可以很容易地解释有关设备和连接配置文件的内容。

    • nmcliチートシート – Qiita

 

    nmcliコマンドの基礎 – えんでぃの技術ブログ
[ネットワークインターフェイス一覧]
$ sudo nmcli device
$ sudo nmcli device status

[ネットワークインターフェイス設定値一覧]
$ sudo nmcli device show (device-name)

[接続プロファイル一覧]
$ sudo nmcli connection show

[接続プロファイルの設定値一覧]
$ sudo nmcli connection show (connection-name)

[接続プロファイルの設定変更]
$ sudo nmcli connection modify (connection-name) (設定項目名) (値)

[例: 接続プロファイル名の変更]
$ sudo nmcli connection modify (old-connection-name) connection.id (new-connection-name)

[接続プロファイルの起動(= 接続)]
$ sudo nmcli connection up (connection-name)

[接続プロファイルの停止(= 切断)]
$ sudo nmcli connection down (connection-name)

[接続プロファイルの削除]
$ sudo nmcli connection delete (connection-name or connection-uuid)

自动连接接续配置ON/OFF

[自動接続の確認]
$ sudo nmcli -f name,autoconnect connection show

[自動接続ON]
$ sudo nmcli connection modify (connection-name) connection.autoconnect yes

[自動接続OFF]
$ sudo nmcli connection modify (connection-name) connection.autoconnect no

打开DHCP。

[DHCP用の接続プロファイルを追加]
$ sudo nmcli connection add con-name (new-connection-name) ifname (device-name) type ethernet

[IPアドレス/ゲートウェイ/DNSの設定を空に戻す]
$ sudo nmcli connection modify (connection-name) ipv4.dns ""

$ sudo nmcli connection modify (connection-name) ipv4.gateway ""
(or
$ sudo nmcli connection modify (connection-name) ipv4.gateway 0.0.0.0
)

$ sudo nmcli connection modify (connection-name) ipv4.addresses ""
※ ipv4.gateway を空にしてから、ipv4.addresses を空にする。逆だとエラーになる。

[DHCPを有効化]
$ sudo nmcli connection modify (connection-name) ipv4.method auto

[既存プロファイルの修正の場合、一度停止]
$ sudo nmcli connection down (connection-name)

[接続プロファイルを起動]
$ sudo nmcli connection up (connection-name)

如果保留了 ipv4.xxx 的手动设置,那么将同时有效 DHCP 获取的 IP/网关/DNS 信息和手动设置。

请参考以下信息:

    1. Red Hat Enterprise Linux 7网络指南,3.3.7。使用nmcli添加和设置动态以太网连接

Red Hat Enterprise Linux 8网络设置与管理,8.5。使用nmcli设置动态以太网连接

禁用DHCP,并手动设置IP地址/网关/DNS。

设定连接配置文件的IP地址为 ipv4.addresses,然后将 ipv4.method 设置为手动。(如果在 ipv4.addresses 为空的情况下尝试将 ipv4.method 更改为手动,将会显示类似“无法在 ipv4.addresses 为空的情况下设置为手动”的错误信息。)

[手動設定用の接続プロファイルを追加]
$ sudo nmcli connection add con-name (new-connection-name) ifname (device-name) type ethernet

[IPアドレス設定]
$ sudo nmcli connection modify (connection-name) ipv4.addresses 192.168.1.10/24

[デフォルトゲートウェイ設定]
$ sudo nmcli connection modify (connection-name) ipv4.gateway 192.168.1.1

[DNS設定]
$ sudo nmcli connection modify (connection-name) ipv4.dns "8.8.8.8 8.8.4.4"

[DHCPを無効化]
$ sudo nmcli connection modify (connection-name) ipv4.method manual

[既存プロファイルの修正の場合、一度停止]
$ sudo nmcli connection down (connection-name)

[接続プロファイルを起動]
$ sudo nmcli connection up (connection-name)

以下是中国的传统食物和饮料节目:
– 红烧肉:这是一道著名的传统猪肉菜肴,使用豆瓣酱、糖、酱油、姜和蒜来烹饪。
– 水饺:这是一种经典的中国小吃,通常用猪肉、虾仁、蔬菜和香料做馅料,然后包在薄面皮中,煮或蒸熟。
– 绿茶:这是中国传统的常见饮料,以其清新的味道和健康的属性而闻名。
– 龙井茶:这是中国最着名的绿茶之一,它具有淡淡的甜味和丰富的花香,被誉为中国绿茶的代表之一。
– 白酒:这是中国传统的酒类,由粮食发酵和蒸馏而成,有着浓郁的香味和高度的酒精含量。

    1. Red Hat Enterprise Linux 7 網絡指南,3.3.8. 使用 nmcli 添加和配置靜態以太網連接

Red Hat Enterprise Linux 8 網絡配置和管理,8.1. 使用 nmcli 設定靜態以太網連接

添加/删除DNS

[追加]
$ sudo nmcli connection modify (connection-name) +ipv4.dns 8.8.8.8
$ sudo nmcli connection modify (connection-name) +ipv4.dns "8.8.8.8 8.8.4.4"

[削除]
$ sudo nmcli connection modify (connection-name) -ipv4.dns 8.8.8.8
$ sudo nmcli connection modify (connection-name) -ipv4.dns "8.8.8.8 8.8.4.4"

参考:公共DNS缓存服务器

    1. 谷歌公共DNS

主要: 8.8.8.8

备用: 8.8.4.4

云flare

推出1.1.1.1:最快速度、注重隐私的消费者DNS服务

主要: 1.1.1.1

备用: 1.0.0.1

介绍1.1.1.1 for Families

仅恶意软件阻止

主要: 1.1.1.2

备用: 1.0.0.2

恶意软件和成人内容

主要: 1.1.1.3

备用: 1.0.0.3

云flare宣布免费的新DNS服务”1.1.1.1 for Families”,在DNS层面上阻止成人内容和恶意软件 – Publickey
1.1.1.1 – 维基百科

设置静态路由/网关

参考:

    • Red Hat Enterprise Linux 7 ネットワークガイド, 第4章 静的ルートおよびデフォルトゲートウェイの設定

4.2. nmcli を使った静的ルートの設定
4.6. デフォルトゲートウェイの設定

Red Hat Enterprise Linux 8 ネットワークの設定および管理

第20章 デフォルトのゲートウェイ設定の管理
20.8. NetworkManager が複数のデフォルトゲートウェイを管理する方法
第21章 静的ルートの設定
21.2. nmcli コマンドによる静的ルートの設定

静态路由设置

[上書き設定]
$ sudo nmcli connection modify (connection-name) ipv4.routes "ip[/prefix] [next_hop]"
$ sudo nmcli connection modify (connection-name) ipv4.routes "ip[/prefix] [next_hop] [metric] [attribute=value] [attribute=value] ..."

[ルートの追加]
$ sudo nmcli connection modify (connection-name) +ipv4.routes "ip[/prefix] [next_hop]"
$ sudo nmcli connection modify (connection-name) +ipv4.routes "ip[/prefix] [next_hop] [metric] [attribute=value] [attribute=value] ..."

[ルートの削除]
$ sudo nmcli connection modify (connection-name) -ipv4.routes "ip[/prefix] [next_hop]"
$ sudo nmcli connection modify (connection-name) -ipv4.routes "ip[/prefix] [next_hop] [metric] [attribute=value] [attribute=value] ..."

在存在多个已激活的连接配置文件时,可以通过指定度量值来控制默认网关的选择。

$ sudo nmcli connection modify (connection-name) ipv4.route-metric (new-metric)
$ sudo nmcli connection modify (connection-name) ipv4.route-metric (new-metric) ipv6.route-metric (new-metric)

查看路由表

$ sudo ip r
$ sudo ip -4 r
$ sudo ip -6 r

$ tracepath -n (ip-address)
$ tracepath -n (internet-hostname)

从man页面的EXAMPLES部分提取

在man页面的最后,有一个名为EXAMPLES的部分,介绍了一些实际的命令示例。我从中挑选了一些我个人感兴趣的。

nmcli connection show –active

アクティブな接続プロファイルを一覧表示する。

nmcli -f name,autoconnect c s

接続プロファイル名と connection.autocnnect プロパティを一覧表示する。
全体的に -f で表示するフィールド名を指定できる。

nmcli -p connection show “My default em1”

“My default em1” 接続プロファイルの詳細を表示する。
全体的に -p により、より分かりやすい表示になる。(-p = –pretty)

nmcli dev disconnect em2

デバイス em2 を切断する。デバイス自体が利用不可能となるため、 autoconnect が有効な接続プロファイルがあっても接続が確立されない。
明示的に nmcli device connect (device-name) するか、デバイスの autoconnect をTRUEにしないと、自動接続が動作しない。

安全

防火墙 (firewalld)

    • Red Hat Enterprise Linux 7 セキュリティーガイド, 第5章 ファイアウォールの使用

Red Hat Enterprise Linux 8 ネットワークの設定および管理, 第48章 firewalld の使用および設定

firewall-cmdコマンドの使い方 – Qiita
CentOS 7 firewalld よく使うコマンド – Qiita

以下为命令摘要:

[起動/停止/状態確認]
$ sudo systemctl start firewalld.service
$ sudo systemctl stop firewalld.service
$ sudo systemctl status firewalld.service
$ sudo firewall-cmd --state

[自動起動ON/OFF/確認]
$ sudo systemctl enable firewalld.service
$ sudo systemctl disable firewalld.service
$ sudo systemctl is-enabled firewalld.service

[デフォルトゾーン/アクティブゾーンの確認]
$ sudo firewall-cmd --get-default-zone
$ sudo firewall-cmd --get-active-zones

[すべてのゾーン/指定したゾーンの設定確認]
$ sudo firewall-cmd --list-all-zones
$ sudo firewall-cmd --list-all --zone=(zone-name)

[すべてのゾーン/指定したゾーンの恒久的な設定確認]
$ sudo firewall-cmd --list-all-zones --permanent
$ sudo firewall-cmd --list-all --zone=(zone-name) --permanent

[デフォルトゾーンの変更]
$ sudo firewall-cmd --set-default-zone=(zone-name)
$ sudo firewall-cmd --set-default-zone=(zone-name) --permanent
[アクティブゾーンの変更]
$ sudo firewall-cmd --zone=(zone-name) --change-interface=(if-name)
$ sudo firewall-cmd --zone=(zone-name) --change-interface=(if-name) --permanent

[設定の再読み込み]
$ sudo firewall-cmd --reload

[利用可能なサービス一覧]
$ sudo firewall-cmd --get-services

[許可サービスの追加/削除]
$ sudo firewall-cmd --add-service=(service-name) --zone=(zone-name)
$ sudo firewall-cmd --add-service=(service-name) --zone=(zone-name) --permanent
$ sudo firewall-cmd --remove-service=(service-name) --zone=(zone-name)
$ sudo firewall-cmd --remove-service=(service-name) --zone=(zone-name) --permanent

[ポート番号許可の追加/削除]
$ sudo firewall-cmd --add-port=(port-number)/{tcp|udp} --zone=(zone-name)
$ sudo firewall-cmd --add-port=(port-number)/{tcp|udp} --zone=(zone-name) --permanent
$ sudo firewall-cmd --remove-port=(port-number)/{tcp|udp} --zone=(zone-name)
$ sudo firewall-cmd --remove-port=(port-number)/{tcp|udp} --zone=(zone-name) --permanent

[IPアドレス許可の追加/削除]
$ sudo firewall-cmd --add-source=192.168.0.0/24 --zone=(zone-name)
$ sudo firewall-cmd --add-source=192.168.0.0/24 --zone=(zone-name) --permanent
$ sudo firewall-cmd --remove-source=192.168.0.0/24 --zone=(zone-name)
$ sudo firewall-cmd --remove-source=192.168.0.0/24 --zone=(zone-name) --permanent

[IPアドレス拒否の追加/削除]
$ sudo firewall-cmd --add-source=192.168.0.0/24 --zone=drop
$ sudo firewall-cmd --add-source=192.168.0.0/24 --zone=drop --permanent
$ sudo firewall-cmd --remove-source=192.168.0.0/24 --zone=drop
$ sudo firewall-cmd --remove-source=192.168.0.0/24 --zone=drop --permanent

RHEL文档的倒查

RHEL文档有很多种类,找到想要的信息很难。因此,我在此摘录了主要的RHEL文档主题。在使用CentOS构建系统时,可以试着用关键词搜索,并从那里反向引用RHEL文档。希望这对你有帮助。

RHEL8 文档的反向索引

所有的成员/全体成员/全体人员

    Product Documentation for Red Hat Enterprise Linux 8

一般系统设置

「基本的なシステム設定の構成」

日付と時刻
システムロケールの設定
キーボードレイアウトの設定
ネットワーク設定(基礎編)
systemd
ファイアウォールの設定(基礎編)
SELinuxの設定(基礎編)
ユーザーアカウント管理, sudo/sudoers管理, rootユーザパスワードのリセットなど
kdump, syslog設定
yum によるパッケージ管理, 自動更新設定
システムのシャットダウン/再起動
systemd, systemctl によるサービス管理, 独自ユニットファイルの作成
ファイル権限, umask管理
chrony による時刻同期
OpenSSHの設定と管理
rsyslogによるリモートロギング設定
Python, PHP, Tcl/Tk の使用ガイド

「さまざまな種類のサーバーのデプロイメント」

Apache HTTPD
nginx
samba
BIND DNS
NFS
squid
データベース (MariaDB, PostgreSQL)
SMTP(sendmail, postfix), POP/IMAP(Dovecot)
印刷(cups)

「カーネルの監視および更新の管理」

kernel RPMパッケージの構成, yum による更新
kernel モジュールの管理
kernel コマンドラインパラメータ設定
sysctl によるパラメータ設定
データベースサーバ向けのkernelパラメータ調整
printk, dmesg, /var/log/boot.log 等の kernel logging (ring buffer)
kdump の詳細な管理と設定
crash を使ったコアダンプ解析
kernel の live patch
コントロールグループ (cgroups v1, v2) の解説とsystemdによる管理
eBPFとbcc-toolsの紹介

网络与安全

「ネットワークの設定および管理」

デバイス名の命名規則
NetworkManager, nmtui, nmcli によるネットワーク/WiFi設定の詳細
VLAN/ネットワークブリッジ/チーミング/ボンディング設定の詳細
VPN, IPSec 設定の詳細
IPトンネル(IPIP, GRE)の詳細
ポートミラーリングの設定
802.1x標準の使用
ルーティング設定(デフォルトゲートウェイ, 静的ルート)の詳細
ダミーインターフェイスとnetconsoleの紹介
systemd とのインテグレーション
トラフィック制御 (qdiscs, tc)
Multipath TCP の使用
DNSの優先度設定の詳細, /etc/resolv.conf の手動設定
ethtool によるオフロード/コロケーター機能の設定
ping, host ユーティリティの紹介
DHCPサービスの詳細
BIND DNSの設定と管理
firewalld, nftablesの詳細
eBPF と bcc-tools の詳細
その他高度なネットワーク設定の管理

「ネットワークのセキュリティー保護」

OpenSSHの詳細
RHEL8におけるSSL/TLSの設定詳細
IPSec, firewalld, nftables の詳細

「セキュリティー更新の管理および監視」

セキュリティ情報の参照先
セキュリティ更新の一覧取得とインストール

「セキュリティーの強化」

システム全体の暗号化ポリシー設定
FIPSモードの使用
Crypto Policies を使ったカスタム暗号ポリシーの設定
PKCS#11 で暗号化ハードウェアを使用する設定
証明書ストアの管理と証明書の追加
SCAPを使った設定コンプライアンスと脆弱性スキャン
LUKSを使用したブロックデバイスの暗号化
auditd を使ったシステム監査
USBGuard によるUSBデバイスからの保護
その他高度なセキュリティ設定

「SELinuxの使用」

Permissive/Enforcingモードの切り替えと無効化
制限のあるユーザ/ないユーザ, sysadm_u による管理者の制約, sudo と sysadm_r ロールによる制約
トラブルシューティングとauditログ
MLS(Multi-Level Security) の詳細
カスタムSELinuxポリシーの作成
コンテナのSELinuxポリシーの作成
SELinux設定のデプロイメント

GNOME桌面环境:

「RHEL 8 でデスクトップ環境の使用」

GNOME3, GNOME Standard / Classic の紹介と選択方法, カスタマイズ方法
リモートデスクトップアクセス(VNC)
GNOME設定 (dconf, gsettings)
GNOMEのカスタマイズ
日本語入力のインストール

开发者:

「RHEL 8 での C および C ++ アプリケーションの開発」

gccによるC/C++のコンパイルとビルド, 静的/動的ライブラリ作成
make, Makefile によるソースコード管理
デバッグ情報の使用とgdbによるデバッグ
strace/ltrace/SystemTap/gdbによるシステムコールのトレースと監視
コアダンプ解析
GCC Toolset 9/10 とbinutilsの紹介

「Product Documentation for OpenJDK 11」

「RHEL での OpenJDK 11 のインストールおよび使用 OpenJDK 11」

yum/dnfによるOpenJDKのインストールと更新

「RHEL での OpenJDK 11 の設定 OpenJDK 11」

複数バージョンのOpenJDKのインストールと切り替え方法( alternatives –config java など )

「ソフトウェアのパッケージ化および配布」

RPMパッケージの作成と署名, サンプル紹介

广告
将在 10 秒后关闭
bannerAds