- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2019-10-12T19:40:03+00:00","","")
#author("2022-05-01T01:13:21+09:00","","")
[[Computer/Linux/CentOS]]
*CentOS 8 [#x5788ab2]
**概要 [#r0be3352]
:リリース日|2019/09/24
:サポート終了|2029/05
:サポート終了|2029/05→2021/12(サポート終了が前倒しされることが2020/12/08に発表された)
CentOS 8のサポート終了後はCentOS 8 Streamへの移行が推奨されている.
**CentOS 7からの主な変更点 [#w52f0ca6]
+yumからdnfに(ただしエイリアスによりyumでも動作する).
+ntpdが廃止.ntpq -pの代わりにchronyc sourcesとする.
+iptablesはnftablesに置き換え.firewalldもnftablesとして動作するように.
**ダウンロード [#c532e19b]
ほかにもミラーサーバは多数ある.
-http://ftp.tsukuba.wide.ad.jp/Linux/centos/
CentOS-x-x86_64-Minimal-19xx.isoのようなMinimalインストーラはなくなったので,CentOS-8-x86_64-1905-dvd1.isoを用いるか,あるいはCentOS-8-x86_64-1905-boot.isoを使ってネットワークインストールを行う.
**CUIインストーラの起動 [#kf33dc6f]
> vmlinuz initrd=initrd.img ... inst.text
ネットワークインストールの場合,Repo URLを設定する必要がある場合がある.たとえば次のように設定する.
http://ftp.riken.jp/Linux/centos/8/BaseOS/x86_64/os
**ネットワーク設定 [#q187d02c]
略号は次のとおり.
:c|connection
:d|device
:m|modify
+デバイス名を確認する.‘en????’といったデバイス名を確認する.
$ nmcli d
+あるいは次のように接続の一覧を表示させてもよい.
$ nmcli c s
+デバイスの設定を確認する.
$ nmcli d show en????
+固定IPアドレスを恒久的に設定する.
$ sudo nmcli c m en???? ipv4.method manual ipv4.addresses "192.168.0.1/24 192.168.0.254"
$ sudo nmcli c m en???? ipv4.method manual ipv4.addresses 192.168.0.1/24
$ sudo nmcli c m en???? ipv4.method manual ipv4.gateway 192.168.0.254/24
+DNSサーバを設定する.
$ sudo nmcli c m en???? ipv4.dns "DNS1 DNS2 DNS3 ..."
+ドメインを設定する.
$ sudo nmcli c m en???? ipv4.dns-search exmaple.com
+IPアドレスを自動取得に変更する場合は次のようにする.
$ sudo nmcli c m en???? ipv4.address auto
+IPv6を無効にする場合は次のようにする.
$ sudo nmcli c m en???? ipv6.method ignore
+OS起動時にネットワーク接続を有効にする場合は次のようにする.
$ sudo nmcli c m en???? connection.autoconnect yes
+設定を反映させる.インタフェースをupさせるだけでよい(downも不要).
$ sudo nmcli c up en????
+あるいは従来のようにサービスを再起動させてもよい.
$ sudo systemctl restart NetworkManager
+設定が反映されているかどうか確認する.
$ cat /etc/sysconfig/network-scripts/ifcfg-en????
$ cat /etc/resolv.conf
+ホスト名を恒久的に設定するには次のようにする.
$ cat /etc/hostname(現在の設定を確認する)
$ sudo hostnamectl set-hostname host??.sample.com
$ cat /etc/hostname(実際に設定されているかどうか確認する)
**タイムゾーンの設定 [#k83f2fd9]
インストール後に設定する場合.
$ sudo timedatectl set-timezone Asia/Tokyo
**ユーザの追加 [#x4fb7df1]
wheel (gid=10)に所属させる場合.
$ sudo useradd -m -g 10 accountname
**サービスの設定と確認 [#f6a89e0e]
$ sudo systemctl start xxxxd
-start: 起動
-stop: 停止
-restart: 再起動
-reload: リロード
-status: 状態表示
-enable: 自動起動有効
-disable: 自動起動無効
-is-enabled: 自動起動設定確認
**sshdの設定 [#j6256612]
+/etc/ssh/sshd_config
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication yes
+サービスを再起動する.
$ sudo systemctl restart sshd
$ sudo systemctl status sshd
**パッケージ等のインストール [#o52218dc]
+リポジトリを設定する.
+リポジトリを追加する.epelに依存しているものが多いので順番に注意する.
$ sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ sudo dnf install --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
$ sudo dnf install --nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm
+開発環境.
$ sudo dnf -y groupinstall development
+パッケージを追加する.Minimalでインストールした場合,基本的なパッケージでもインストール必要がある.
+パッケージを追加する.Minimalでインストールした場合,基本的なパッケージでもインストールする必要がある.
--at
--wget
--perl
--rkhunter
--clamav clamav-update clamav-server-systemd
--upower(バッテリー残量)
--ffmpeg
--bind bind-chroot bind-utils
--dhcp-server
--policycoreutils-python-utils
--zlib-devel(swftoolsのコンパイルに必要)
--rtmpdump
--rsync
+ソフトウェアのアップデートを行う.
$ sudo dnf -y update
+古いカーネルを確認する.
$ dnf list installed kernel
+パッケージを削除する場合.
$ sudo dnf remove packagename
**ffmpeg [#l835f3df]
CentOS 7用のリポジトリからSDL2をインストールしてからffmpegをインストールするとうまくいくようだ.
-https://computingforgeeks.com/how-to-install-ffmpeg-on-centos-rhel-8/
-https://sxi.io/how-to-install-ffmpeg-on-centos-8-rhel-8
$ sudo dnf install http://rpmfind.net/linux/epel/7/x86_64/Packages/s/SDL2-2.0.10-1.el7.x86_64.rpm
$ sudo dnf install ffmpeg
**ソースからインストール [#e788a83a]
+swftools
+ffmpeg
--https://sxi.io/how-to-install-ffmpeg-on-centos-8-rhel-8
--https://computingforgeeks.com/how-to-install-ffmpeg-on-centos-rhel-8/
**バッテリー残量 [#na2d995f]
$ upower -d | grep percentage
**ノートPCの蓋を閉めてもスリープさせない [#m05448b8]
+/etc/systemd/logind.confを編集する.
HandleLidSwitch=ignore
+サービスを再起動する.
$ systemctl restart systemd-logind
**サービス [#w0812108]
+atd
+chronyd
+crond
+freshclam
+clamav-freshclam
+(httpd)
+named
+samba
+smb
+nmb
**bind [#wb3d22c2]
+namedを停止させる.
$ sudo systemctl stop named
$ sudo systemctl disable named
+/var/named/chroot/etcにnamed.confなどの設定ファイルが存在しないことを確認する.named-chrootを起動させると自動的にマウントされて設定ファイルが配置されるが,もともと設定ファイルが存在すると自動的にマウントできないからである.
+設定ファイルをコピーする.chrootの場合でも,以下のファイルがコピー(マウント)される.
$ sudo cp /etc/named.conf /etc/named.conf.bak
$ sudo cp named.conf /etc
$ sudo cp xxx.zone /var/named
$ sudo chown root:named /var/named/xxx.zone
$ sudo chmod 640 /var/named/xxx.zone
+named-chrootを起動させる.
$ sudo systemctl start named-chroot
$ sudo systemctl enable named-chroot
+DNSサーバを自分自身にする.
$ sudo nmtui
$ sudo systemctl restart network
**nftables [#y49572f1]
$ nft --version
$ sudo systemctl start nftables
$ sudo nft flush ruleset
$ sudo nft create table ip home
$ sudo nft list ruleset
$ sudo nft create chain ip home input { type filter hook input priority 0 \;}
$ sudo nft add rule ip home input ip protocol icmp icmp type echo-request ct state new accept
$ sudo nft add rule ip home input tcp dport ssh accept
$ sudo nft add rule ip home input tcp dport dhcp accept
$ sudo nft add rule ip home input tcp dport dns accept
$ sudo nft add rule ip home input tcp dport http accept
$ sudo nft add rule ip home input tcp dport https accept
$ sudo nft add rule ip home input udp dport ntp accept
$ sudo nft add rule ip home input tcp dport domain accept
$ sudo nft add rule ip home input udp dport domain accept
$ sudo nft add rule ip home input handle 6 ct state related,established accept
$ sudo nft insert rule ip home input handle 6 iif lo accept
$ sudo nft add rule ip home input iif lo accept
$ sudo nft add rule ip home input ct state related,established accept
$ sudo nft add rule ip home input tcp dport \{ssh,http,https,domain,microsoft-ds,netbios-ssn\} accept
$ sudo nft add rule ip home input udp dport \{ntp,domain,netbios-dgm,netbios-ns\} accept
$ sudo nft add rule ip home input udp sport \{bootpc,bootps\} udp dport \{bootps,bootpc\} accept
$ sudo nft add rule ip home input drop
$ nft list ruleset >nftables_conf.txt
$ sudo nft create chain ip home output { type filter hook output priority 0 \;}
$ sudo nft list ruleset >nftables.conf
$ sudo cp nftables.conf /etc/sysconfig/nftables.conf
最後のようにnftables_conf.txtに保存しておくと次のコマンドで読み込むことができる.
保存しておいたファイルを次のコマンドで読み込むこともできる.
$ sudo nft -f nftables_conf.txt
サーバ自体を再起動するとなぜかデフォルトのルールが読み込まれてしまうので,当面はサーバ自体を再起動した場合,起動後に
$ sudo systemctl restart nftables
を実行することにする.
参考.
-https://qiita.com/takaki@github/items/716a0d55976bc284045c
**ポートの調査 [#p8737ef7]
$ ss -ltu
**samba [#gac52908]
+/etc/samba/smb.confにコピーする.
samba-4.11よりSMB1は無効化されている.有効化する場合は/etc/samba/smb.confに
server min protocol = NT1
を追記し,smb サービスを再起動する.
$ sudo systemctl restart smb
**SELinux [#y64ff1b5]
$ getenforce
$ sestatus
$ sudo semanage fcontext -a -t samba_share_t /var/samba3
$ sudo restorecon -R -v /var/samba3
$ sudo setsebool -P allow_smbd_anon_write=on
**参考 [#qadbb338]
-https://blog.apar.jp/linux/12940/
-https://mizunashi-mana.github.io/blog/posts/2019/09/nftables-on-debian/
-https://sudachi.jp/wiki/CentOS_8_で自宅サーバー構築