######################################## CentOS 8/9 設定 Tips ######################################## インストール時 ================= パッケージ管理 ----------------- yum から dnf に変わった。yumも使えるが、中ではdnfが呼ばれている。 dnfのリポジトリにEPEL/SCLを追加 ------------------------------------ #以下の操作をしようと思ったら、枯れた Base Repo.ではキツい。 .. code-block:: shell sudo yum install epel-release sudo yum install centos-release-scl ソフトウェアRAID ====================== fdiskを使うのはそろそろやめよう。。。 .. code-block:: shell #Disk確認 grep -H "" /sys/block/*/device/model parted -l #パーティションテーブル作成 sudo parted /dev/sdb #partedのプロンプト起動 #使用方法 (parted) help (parted) help [command] #現在のパーティションテーブル確認 (parted) print #パーティション設定 (parted) mklabel gpt (parted) unit MiB (parted) mkpart primary xfs 0% 100% #ソフトウェアRAID構築 sudo mdadm --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sdb1 /dev/sdc1 cat /proc/mdstat #Build終了後にファイルシステム構築 sudo mkfs.xfs /dev/md0 #マウントポイント作成 sudo mkdir /data sudo chmod 0777 /data #起動時に自動マウントするには/etc/fstabに下の行を追加 /dev/md0 /data xfs defaults 0 0 #以下未確認 #(おまけ)UUIDを使う場合 sudo blkid /dev/sda1: UUID="872543d7-8f94-4542-8283-a4c70e280ddd" TYPE="xfs" PARTLABEL="primary" PARTUUID="1632dd72-1dfc-475c-a68b-576f88ec5ed3" #起動時に自動マウントするには/etc/fstabに下の行を追加 UUID=12345abcd.... /data xfs defaults 0 0 RAIDチェック ----------------- .. code-block:: #/etc/sysconfig/raid-check を下記のように変更 ENABLED=yes CHECK=check NICE=low CHECK_DEVS="md0" #/etc/cron.d/raid-check にこう書かれているかチェック 0 1 * * Sun root /usr/sbin/raid-check #毎週日曜1時に自動チェック開始 #自動チェックを手動で止めたいとき cat /sys/block/md0/md/sync_action #idleではなくcheckになっているはず echo idle > /sys/block/md0/md/sync_action #エラー時にメール #/etc/mdadm.confに以下の行を追加 MAILADDR something@*****.com #sendmail設定 sudo yum install sendmail sendmail-cf sendmail-devel mailx mail something@*****.com Subject: test hogehoge . EOT #でメールが届けば一段階クリア。 #ダメなら何が起こったか以下のログで確認。 #因みに、champは@localhost.localdomainからのメールを弾く仕様です。gmailは問題なし。 sudo tail /var/log/maillog #mdmonitorが生きているか確認 systemctl status mdmonitor #テストメール送信 mdadm --monitor --test --oneshot --scan #RAID運用コマンド mdadm --detail /dev/md0 mdadm --detail --scan mdadm --fail /dev/md0 /dev/sdb #ディスクに障害を発生させる mdadm --remove /dev/md0 /dev/sdb #アレイからディスクを外す mdadm --add /dev/md0 /dev/sdb #アレイにディスクを追加 #ディスク交換時はconfig fileに情報保存 mdadm --detail --scan > /etc/mdadm.conf LDAP設定 ===================== :: - Add below in /etc/hosts 192.168.100.101 repicnas repicnas.local 192.168.100.103 repicmet repicmet.local 192.168.100.104 repicdb repicdb.local 192.168.100.105 repicdaq1 repicdaq1.local 192.168.100.106 repicdaq2 repicdaq2.local 192.168.100.107 repicdaq3 repicdaq3.local - Make SELinux disabled This is needed to create a home folder by oddjob. Edit /etc/selinux/config. - Enabling sssd for authentication For CentOS 7: sudo authconfig --update --enablesssd --enablesssdauth --enablemkhomedir sudo authconfig --test | egrep 'pam_sss|pam_mkhomedir' For Rocky 8 sudo authselect select sssd with-mkhomedir --force sudo authselect current - SSSD setting sudo yum install sssd sssd-tools sssd-dbus Create /etc/sssd/conf.d/authconfig-sssd.conf Contents should be ... ---------------------------- [sssd] domains = atlasj-itk.repic.jp [domain/atlasj-itk.repic.jp] id_provider = ldap ldap_uri = ldap://repicnas.local/ ldap_search_base = dc=atlasj-itk,dc=repic,dc=jp ---------------------------- Then, create /etc/sssd/sssd.conf Contents should be ... ---------------------------- [sssd] config_file_version = 2 services = nss, pam domains = atlasj-itk.repic.jp debug_level = 2 [domain/atlasj-itk.repic.jp] id_provider = ldap auth_provider = ldap chpass_provider = ldap ldap_uri = ldap://repicnas.local/ ldap_search_base = dc=atlasj-itk,dc=repic,dc=jp ldap_default_bind_dn = CN=admin,DC=atlasj-itk,DC=repic,DC=jp ldap_id_use_start_tls = True ldap_tls_reqcert = never ldap_default_authtok_type = password ldap_default_authtok = siliconj cache_credentials = True [nss] override_shell = /bin/bash override_homedir = %H/%u homedir_substring = /nas/home ---------------------------- sudo chmod 600 /etc/sssd/sssd.conf sudo chown root:root /etc/sssd/sssd.conf sudo systemctl start sssd sudo systemctl enable sssd #Useful commands to debug the setting ldapsearch -h repicnas.local -x -D "cn=admin,dc=atlasj-itk,dc=repic,dc=jp" -W -b "ou=people,dc=atlasj-itk,dc=repic,dc=jp" cn=hirose sudo sssctl user-checks hirose sudo sssctl domain-status atlasj-itk.repic.jp Log files are in /var/log/sssd/ Logs for authentication status /var/log/messages and /var/log/secure TIPS ================= GCC7導入 ----------------- .. code-block:: shell sudo yum install devtoolset-7 #下記コマンドでgcc7を使えるようにする scl enable devtoolset-7 bash tmux導入 ----------------- screenは標準repoからは消えた。epelには入っているらしい。 .. code-block:: shell sudo dnf install tmux ~/.tmux.confに以下を追加。PrefixをCtrl-bからCtrl-oへ変更 .. code-block:: set-option -g prefix C-o unbind-key C-b bind-key C-o send-prefix システムモニタ導入 --------------------- .. code-block:: #これもepelにしかない sudo dnf install gkrellm #以下未確認 sudo dnf install lm_sensors sudo sensors-detect sensors メモリの規格確認 ----------------- .. code-block:: sudo dmidecode --type memory ネットワーク使用率 ---------------------- .. code-block:: ifstat -i [NIC] ポート確認 ---------------------- .. code-block:: #ポートを使用/接続待ちしているプロセス表示 lsof -i -P ss -ltunp #ポートスキャン nmap -p 0-65535 localhost #TCP nmap -sU localhost #UDP (only for well known ports) nmap -p 53,37000 -sU localhost #UDP (only for specified ports) メモリのスペック --------------------- .. code-block:: dmidecode -t memory Function GeneratorなどのUSB接続Tips ------------------------------------- .. code-block:: lsusb -l #でUSBTMCデバイスであることなどが確認できる場合は、 /dev/usbtmcXXX #として認識される。 echo "*IDN?" > /dev/usbtmc0 #などでコマンドを送り、別terminalで cat /dev/usbtmc0 #などで期待しているデバイスのIDが返って来ればOK。 #NI-VISAのドライバなどをインストールして、 rmmod usbtmc #などで、システムデフォルトのusbtmcドライバを無効化しないとダメな場合もあり。 #そういうケースなら常時無効化するために、 echo 'blacklist usbtmc' > /etc/modprobe.d/nousbtmc.conf #とかで無効化できる。 ストレステスト -------------------- .. code-block:: #stressよりも高機能なstress-ngを推奨 sudo dnf install stress-ng #CPU stress-ng -c 1 stress-ng -c 1 -l 50 #CPU loadを50%にもできる #メモリ stress-ng -m 1 --vm-bytes 128M --timeout 10 #ディスク stress-ng -d 1 --hdd-bytes 512M VNCサーバを複数立てる ------------------------------------ TigerVNC Serverで複数VNCサーバを立てるには、ディスプレイ番号の違うサービスを新たにスタートする。 ディスプレイ番号は、vncserver@:[N]のようにして[N]に与える数字。この数字が5900に足されたポートでサービスがスタートする。 サーバを追加するには以下。 .. code-block:: shell cp /etc/systemd/system/vncserver@\:1.service /etc/systemd/system/vncserver@\:2.service systemctl daemon-reload systemctl start vncserver@\:2.service systemctl enable vncserver@\:2.service #必要であればポートも開放 firewall-cmd --list-all #どのサービスが許可されているか確認 firewall-cmd --add-service=vnc-server --permanent #vncを許可。590X/tcpが許可される。 firewall-cmd --reload