Linuxって便利だけど、何となくスキっとしない。イメージ的なものだろうけどゴミファイルが出ても掃除しにくいし、どこかにカスが残ってそうな感じがする。インストールを失敗した場合アンインストールですべてがきれいさっぱりリセットされるわけではなさそうな...。
そんな感じがするから、ついつい何かあったらクリーンインストールをしたくなる。今回は昨日完成した Raspberry Pi の shell を使ったクリーンインストールをやってみたいと思う。では次に手順を示す。
- OSのインストール
- apt update apt upgrade 実施
- rootが使用できるように設定
- IPアドレスの調整
- ドメイン登録
- DNSサーバのインストールと設定
- UFWによるファイアウォール設定
上の2~7が Shell によって単純にできるところ。あと設定ファイルは各ファイルに書き込むのではく、バックアップをとってある各ファイルを乗せる形をとる。
バックアップの設定ファイル一覧
- /etc/dhcpcd.conf
- /etc/ssh/sshd_config
- /etc/bind/named.conf
- /etc/bind/named.conf.internal-zone
- /etc/bind/hibiki.servebloig.net.lan
- /etc/bind/amamoto-music.sytes.net.lan
- /etc/bind/hibiki-cloud.ddns.net.lan
- /etc/bind/2.168.192.db
インストールソフト
- vim
- bind9
- bind9utils
- dnsutils
- ufw
Shell
#!/usr/bin/bash #====================================================================== # aptのアップデート #====================================================================== yes | sudo apt-get update yes | sudo apt-get upgrade
#====================================================================== # Softのインストール #====================================================================== sudo apt-get -y install vim sudo apt-get -y install bind9 sudo apt-get -y install bind9utils sudo apt-get -y install dnsutils sudo apt-get -y install ufw
#====================================================================== # rootのパスワード設定 #====================================================================== sudo passwd root<<EOF new_password new_password EOF
#====================================================================== # 既存ファイルのバックアップ #====================================================================== sudo mv /etc/dhcpcd.conf{,_back} sudo mv /etc/bind/named.conf{,_back} sudo mv /etc/ssh/sshd_config{,_back}
#====================================================================== # 設定ファイルのコピー #====================================================================== sudo cp ./dhcpcd.conf /etc/ sudo cp ./sshd_config /etc/ssh/
sudo cp ./named.conf /etc/bind/ sudo cp ./named.conf.internal-zones /etc/bind/ sudo cp ./hibiki.serveblog.net.lan /etc/bind/ sudo cp ./amamoto-music.sytes.net.lan /etc/bind/ sudo cp ./hibiki-cloud.ddns.net.lan /etc/bind/ sudo cp ./2.168.192.db /etc/bind/
#====================================================================== # ファイルのパーミッション変更 #====================================================================== sudo chown root:root /etc/dhcpcd.conf sudo chown root:adm /etc/bind/* sudo chmod 644 /etc/ssh/sshd_config
#====================================================================== # ufwの設定 #====================================================================== #sudo ufw default deny #sudo ufw allow ssh #sudo ufw allow 53 #yes | sudo ufw enable
#====================================================================== # 再起動 #====================================================================== sudo reboot
|
これで一発でDNSサーバが作れる!
何回かお試しにやってみたけど、ufwがエラーを起こします。再起動後このShellを実行すると問題なくできるので、ufwだけ再起動させれば、エラーが出ないかも...。と思って、やってみたけどダメでした。プログラムのバグということをネットで突き止めました。
コメントする