Debian 8ことJessieのインストーラは、Wheezyのころとほとんど変わらない。目立つ違いといえば、スプラッシュの画面が緑色になったことと、パーティション分割を選んだ際にルート領域を大き目に確保するようになったぐらいだろうか。WheezyのころはLVMパーティションを構成し自動分割を行うと、インストール後にパーティションの調整がほぼ必須だったが、とくに作業する必要はなくなっている。
インストール時
lvm、パーティション分割、パッケージ(tasksel)はsshサーバーと標準ツールでインストール。インストール時に気合を入れてカスタマイズしなくてもあとで何とかなる。
LVMの空き領域を作る
ファイル復旧やパーティションの調整用に、あらかじめ/homeを削って、未割当の領域を少し作っておく。
# umount /home
# e2fsck -f /dev/mapper/xxxx-vg-home
# resize2fs /dev/mapper/xxxx--vg-home 10G
# lvreduce -L 10G /dev/mapper/xxxx--vg-home
WARNING: Reducing active logical volume to 10.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce home? [y/n]: y
Size of logical volume xxxx-vg/home changed from 86.22 GiB (22072 extents) to 10.00 GiB (2560 extents).
Logical volume home successfully resized
# mount /home
# pvdisplay
--- Physical volume ---
:
Free PE 19512
:
削除するツール
rcpbind (nfsを使わない=111ポートを閉じる=サーバーサービスを利用しているなど)
# aptitude purge rpcbind
良く使うツールのインストール
- extundelete (ジャーナルからのファイル復旧)
- ntp、ntpdate(時刻合わせサーバー・クライアント)
- wget(HTTPなどでのファイルダウンロード)
- dnsutils(nslookup、digコマンドなど)
- vim(エディタ:好み?癖?の問題)
- lv(ビューア)
- apache2-utils(htpasswdやlogresolveなど)
を入れておく。
# aptitude install extundelete ntp ntpdate wget dnsutils vim lv apache2-utils
ntpは自動起動しないようにして、ときどきcronで起動するようにしておく。
# update-rc.d ntp disable
vimの設定
vimを標準エディタに設定する。2つ設定箇所がある。
# update-alternatives --config editor
alternative editor (/usr/bin/editor を提供) には 3 個の選択肢があります。
選択肢 パス 優先度 状態
------------------------------------------------------------
* 0 /bin/nano 40 自動モード
1 /bin/nano 40 手動モード
2 /usr/bin/vim.basic 30 手動モード
3 /usr/bin/vim.tiny 10 手動モード
現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 2
update-alternatives: /usr/bin/editor (editor) を提供するためにマニュアルモードで /usr/bin/vim.basic を使います
crontabのエディタはselect-editorで設定する。
# select-editor Select an editor. To change later, run 'select-editor'. 1. /bin/nano <---- easiest 2. /usr/bin/vim.basic 3. /usr/bin/vim.tiny Choose 1-3 [1]: 2
IPv6の無効化
/etc/sysctl.d/以下にnet.ipv6.conf.all.disable_ipv6=1を記載したconfファイルを置き、再起動する。
# vi /etc/sysctl.d/disable_ipv6.conf
net.ipv6.conf.all.disable_ipv6 = 1
iptablesの設定(iptables-persistentの利用)
iptables-persistentでiptablesを管理する。
# aptitude install iptables-persistent
IPv6を使わない場合はすべてDROPに変更してして塞いでおく。
# vi /etc/iptables/rules.v6 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] COMMIT
IPv4はSSHと必要なものを開けてあとは閉じておく。
# vi /etc/iptables/rules.v4 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -d 127.0.0.0/8 ! -i lo -j REJECT --reject-with icmp-port-unreachable -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # たとえばHTTP -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT # SSHで設定したポートを指定 -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT # -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT # -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables_log: " --log-level 7 -A INPUT -j REJECT --reject-with icmp-port-unreachable -A FORWARD -j REJECT --reject-with icmp-port-unreachable -A OUTPUT -j ACCEPT COMMIT
設定の反映は、jessieからinit.dのスクリプトではなく、
# netfilter-persistent reload
を実行するように変わっている。
Nginxは開発元から最新版を取得
# wget http://nginx.org/keys/nginx_signing.key # apt-key add nginx_signing.key # rm nginx_signing.key
/etc/apt/sources.listに以下の行を追加
# vi /etc/apt/sources.list
deb http://nginx.org/packages/debian/ jessie nginx deb-src http://nginx.org/packages/debian/ jessie nginx
一度パッケージ情報を更新しておく。
# aptitude update