CentOS 7 設定 Tips

インストール時

リポジトリの場所:

http://ftp.riken.jp/Linux/centos/7/os/x86_64/

その他:

-- GNOME とDevelopment tools くらいは入れといても良いかな。
-- Instalation destination の設定で、デフォルトではルートディレクトリ"/"に50GB、/Homeにswapなどを取った残りの容量が割り当てられるので変えておいた方が個人的には便利。

システム関連

ネットワーク設定:

#NICステータス確認
nmcli -p
ip addr

#NIC詳細情報
nmcli device
nmcli device show enpxxx

#Connection作成
nmcli c add type ethernet ifname enpxxx con-name enpxxx

#ネットワーク接続確認
nmcli networking connectivity

#プロファイル及び接続確認
nmcli connection show

#IPアドレス、サブネットマスク変更
nmcli c mod enpxxx ipv4.method manual ipv4.addresses "192.168.1.2/24 192.168.1.254" #IP,subnet,router
nmcli c modify enpxxx ipv4.addresses 192.168.10.100/24

#デフォルトゲートウェイ変更
nmcli c modify enpxxx ipv4.gateway 192.168.0.1

#IP固定 or DHCP
nmcli c m enpxxx ipv4.method auto

#DNS設定
nmcli c modify enpxxx ipv4.dns 8.8.8.8

#インターフェイス自動起動設定
nmcli c m enpxxx connection.autoconnect yes

#インターフェース再起動
nmcli c down enpxxx; nmcli c up enpxxx

#ネットワーク再起動
systemctl restart network

#ルーティングテーブル確認、変更
route
sudo route add -net 192.168.10.16 netmask 255.255.255.0 enpxxx
sudo route del -net 192.168.10.0 netmask 255.255.255.0 enpxxx

サービス設定:

systemctl start sshd
systemctl stop sshd
systemctl restart sshd
systemctl status sshd
systemctl list-unit-files

Xilinx Software Installation

Vivado導入:

#Download the installer from Xilinx.
chmod +x Xilinx_Vivado_SDK_Web_2017.4_1216_1_Lin64.bin
sudo chmod 0777 /opt
./Xilinx_Vivado_SDK_Web_2017.4_1216_1_Lin64.bin #Do not be a root user (it's not recommended)!!
#Follow GUI, (install Vivado HL Design Suite if you have a proper licence)

#Installation of cable drivers
cd /opt/Xilinx/Vivado/2017.4/data/xicom/cable_drivers/lin64/install_script/install_drivers/
sudo ./install_drivers

#インストール後
source /opt/Xilinx/Vivado/2017.4/settings64.sh
vivado
で起動。

ISE導入:

#Download the installer from Xilinx.
tar xvf Xilinx_ISE_DS_Lin_14.7_1015_1.tar
cd Xilinx_ISE_DS_Lin_14.7_1015_1/
./xsetup
#Follow GUI, but uncheck "Install cable driver" (it'll fail anyway due to permission denied).
#インストール後
source /opt/Xilinx/14.7/ISE_DS/settings64.sh
ise
#で起動。

Platform Cable USB IIを使うための準備:

#Third partyのドライバを導入
cd /opt/Xilinx/
git clone git://git.zerfleddert.de/usb-driver
cd usb-driver
make
#put below in your .bashrc to use IMPACT
export LD_PRELOAD=/opt/Xilinx/usb-driver/libusb-driver.so
#Platform Cableを認識させるためには以下。
sudo ./setup_pcusb /opt/Xilinx/14.7/ISE_DS/ISE/
#その後、USBケーブルをさしてLEDが光れば成功。

Tips

yumのリポジトリにEPELを追加:

#以下の操作をしようと思ったら、枯れた Base Repo.ではキツい。
sudo yum install epel-release

ROOT導入:

sudo yum install root
#画面が飛んでこない。MacintoshのXQuartzの設定に問題があるっぽいので、Macintosh上で下記を実行。
defaults write org.macosforge.xquartz.X11 enable_iglx -bool true

gv導入:

sudo yum install gv

リモートデスクトップ導入:

sudo yum install xrdp
sudo firewall-cmd --permanent --zone=public --add-port=3389/tcp
sudo firewall-cmd --reload
sudo systemctl start xrdp
sudo systemctl enable xrdp

ソフトウェアRAID:

#fdiskを使うのはそろそろやめよう。。。
#Disk確認
grep -H "" /sys/block/sd*/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チェック
#/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

システムモニタ導入:

sudo yum install gkrellm
sudo yum install lm_sensors
sudo sensors-detect
sensors

ストレステスト:

sudo yum install stress
#CPU
stress --cpu 2 --timeout 2m
#メモリ
stress --vm 2 --vm-bytes 1G --timeout 2m

WOL設定:

#Mother boardでWOLが有効になっているか確認。
#"Power Management"とか"Wake Up Event"とかの項目あたりにあるかも(マザーボードメーカに依る)。

#設定確認
sudo ethtool enp0s31f6
#"Wake-on:" が"g"(マジックパケット)になっているか?
nmcli connection show eth0| grep 802
#"802-3-ethernet.wake-on-lan:" が"64(magic)"になっているか?

#WOL有効化
sudo nmcli connection modify eth0 802-3-ethernet.wake-on-lan magic
sudo ethtool -s net0 wol g #上の設定で勝手に有効化されているかも?
#再起動後に設定が残っているか確認すること。ダメなら下記コマンドで自動設定。
#/etc/udev/rules.d/99-wol.rulesに以下を追加
ACTION=="add", SUBSYSTEM=="net", NAME=="enp*", RUN+="/usr/sbin/ethtool -s $name wol g"

#Pythonを用いたMagic Packetの送り方
#MAC=00:01:02:03:04:05
#IPv4=192.168.1:123 (ルータを中継するとき以外はなんでも良い)
#Port=4567 (ルータを中継するとき以外はなんでも良い)
##以下の内容の実行ファイルを作って実行。
#-----------------------------------------
#!/usr/bin/env python
import socket
s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.sendto('\xff'*6+'\x00\x01\x02\x03\x04\x05'*16, ('192.168.1.123', 4567))

#Linux ether-wake を用いたMagic Packetの送り方
ether-wake 00:01:02:03:04:05 #ルータ越えはどうやってやる?

問題対処

Home拡張:

##参考URL=https://icondecotter.jp/blog/2016/03/17/centos7でhomeパーティションの容量を削減してrootに割り当/

sudo mkdir /work
sudo useradd -d /work/resize -m -G wheel -p resize resize
sudo passwd resize
sudo yum install xfsdump #optional
sudo yum install psmisc #optional

##Below done by the user "resize"

cd /work
sudo xfsdump -J -L home -M drive -f home.dump /home

sudo umount /dev/mapper/centos-home
sudo fuser -km /home

sudo pvdisplay
sudo vgdisplay
sudo lvdisplay
sudo lvchange -an /dev/mapper/centos-home
sudo lvremove /dev/mapper/centos-home
sudo lvcreate -L 50G -n home centos

sudo mkfs.xfs /dev/centos/home
sudo mount /dev/centos/home
df -h
sudo xfsrestore -J -L home -f home.dump /home

sudo lvextend -l +100%FREE /dev/centos/root
sudo xfs_growfs /dev/mapper/centos-root

画面解像度が低い、変えれない:

#Core i7 8700Kのグラフィクドライバの問題?
yum install lshw
sudo lshw -c video
*-display UNCLAIMED になっている。。。
#参考URL: https://www.centos.org/forums/viewtopic.php?t=64780
#治らなかった。。。

NICの名前変更:

#Xilinx Vivado の古いバージョン(e.g. 2016.2で確認)では ethX のMACアドレスでライセンスを確認するため、enp0s3などの最近のLinuxのNIC命名方法ではライセンス認証を失敗する。これに対処する方法。
#しかし、eth0 などに変えると問題が起こるソフトウェアも最近はあるらしい(仮想マシンとの通信とか)。自己責任で。
#参考URL: 大変助かった。http://zokibayashi.hatenablog.com/entry/2015/04/05/035642

/etc/default/grub 内の GRUB_CMDLINE_LINUX=",,,," に  biosdevname=0 net.ifnames=0 を足す。
(もし rhgb や quiet のコマンドがそもそも含まれているのならそれらよりも前に足さなければならない。)

#上記の設定変更をコンフィグファイルに反映させる。
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

#ネットワークの設定ファイルをリネームする。
mv /etc/sysconfig/network-scripts/ifcfg-enpXsY /etc/sysconfig/network-scripts/ifcfg-eth0
#もし中にDEVICEとNAMEの項目があるのならそれも適宜変更。
#さらに、この中にHWADDRの項目がないとうまくいきません。

#この後再起動すれば eth0 とかに変わるはず。

その他:

-- sshd が自動起動しなかった。systemctl disable sshd; systemctl enable sshd で直った。
-- firefoxのtabがcrashする。about:configでbrowser.tabs.remote.autostart = false、browser.tabs.remote.autostart.2 = falseにすると解決。
-- CapsLockをCtrlに。Applications->Utilities->Tweak Toolを起動。Typyng->Ctrl key positionでCaps Lock as Ctrlにチェック。
-- JavaEmbeddedFrameが消えない。

– Mac から ssh する場合、Preferences->Advanced にある”Set locale environment variables on startup” のチェックを外すと system の既定の locale を使用する。幸せになれる。