#author("2018-03-15T20:05:03+09:00","","") #author("2018-03-15T20:05:57+09:00","","") #contents *OSインストール後の定番作業 [#q59c8c55] **パッケージ [#m7e66a09] # apt-get purge -y nano vim-tiny # apt-get install -y ntp vim cron-apt sysstat dstat **設定変更 [#l56c3714] -cron-aptで更新も行う(-dオプションを削除)。 --/etc/cron-apt/action.d/3-download (変更) dist-upgrade -y -o APT::Get::Show-Upgraded=true #BR -cron-aptでのアップグレード時にメールで通知。 --/etc/cron-apt/config.d/0-update (新規) MAILON="upgrade" #BR -ntpサーバを指定。 --/etc/ntp.conf (行追加) server ntp.jst.mfeed.ad.jp iburst server ntp.nict.jp iburst server ntp.ring.gr.jp iburst #BR -sysstatを有効にする。 --/etc/default/sysstat (変更) ENABLED="true" #BR -sysstatの保存期間を延ばす。 --/etc/sysstat/sysstat (変更) HISTORY=730 #BR -syslogの保存期間を延ばす。 --/etc/logrotate.conf (変更) #rotate 4 rotate 24 --/etc/cron.daily/sysklogd (変更) #savelog -g adm -m 640 -u root -c 7 $LOG >/dev/null savelog -g adm -m 640 -u root -c 30 $LOG >/dev/null #BR -普段はディスプレイをつながないので、コンソールのブランクスクリーンなどを無効にする。 --/etc/console-tools/config または、/etc/kbd/config (変更) BLANK_TIME=0 POWERDOWN_TIME=0 #BR -sshdの設定は、rootログイン拒否、パスワードログイン拒否、PAM不使用とする。 --/etc/ssh/sshd_config (変更) PermitRootLogin no PasswordAuthentication no UsePAM no #BR -カーネルパニック時に自動再起動させる。 --/etc/sysctl.d/local.conf kernel.panic = 10 #BR -履歴数変更と、bashの実行時間を記録。 --/etc/profile.d/custom.sh (新規ファイル) if [ "$PS1" ]; then export HISTTIMEFORMAT='%m/%d %H:%M ' HISTFILESIZE=2000 HISTSIZE=2000 fi #BR -logrotateで、ファイル名に日付を使用する。 --/etc/logrotate.d/custom (新規) dateext #BR -複数のDNSサーバを順番に使用する。 --/etc/resolv.conf (行追加) options rotate **おすすめパッケージ [#ve92bb47] |~パッケージ名|~内容|h |dstat|いろいろな情報が一度に見れる監視ツール| |iotop|IO負荷のあるプロセスをリストアップ| |iptables-persistent|iptablesの永続化| |rsync|マシン間でも可能な、ディレクトリ同期ツール| |sysstat|sar、iostatなどのシステム監視ツール| *CPANからPerlパッケージをインストール [#nce37ac9] **準備 [#y70d8712] パッケージで用意されていないPerlモジュールがほしい場合は、CPANから持ってくることになる。~ debianでは、CPANにあるモジュールからdebパッケージを作成することができる。ただし、依存関係などの面倒はみてくれない。~ 必要なパッケージはdh-make-perlで、関連するパッケージもインストールしておく。 # apt-get install dh-make-perl apt-file ftp lynx **Net::SMTP::SSL [#kfce1b7d] Net::SMTP::SSLは、内部でIO::Socket::SSLをつかっている。IO::Socket::SSLはdebianにパッケージが用意されているのでそれを使いたいところだが、パッケージのバージョンは1.01となっている。ところが、Net::SMTP::SSLが要求するIO::Socket::SSLのバージョンは1.03以上のようだ。そうでない場合、インスタンス時に以下のようなエラーが出る。 Net::SMTP::SSL: Bad service '' ...propagated at ./xxxx.pl line 19, <DATA> line 855. このため、IO::Socket::SSLもCPANからパッケージを作成する。さらに、libio-socket-ssl-perlがアップグレードされないようにバージョンを固定しておく。 # dh-make-perl --build --cpan IO::Socket::SSL # dpkg -i libio-socket-ssl-perl_0.99-1_all.deb # echo libio-socket-ssl-perl hold | dpkg --set-selections # dh-make-perl --build --cpan Net::SMTP::SSL # dpkg -i libnet-smtp-ssl-perl_1.01-1_all.deb *Debianの設定変更 [#n6ed8a0d] //**アカウントロック // 指定した回数だけ連続してパスワードを間違えた場合に、自動的にアカウントロックをすることができる。さらに、指定した時間を過ぎると自動解除するようにもできる。~ // // まずは、''/etc/login.defs''にある、pam_tallyモジュールを使う設定を無効にする。 //-/etc/login.defs (変更) // FAILLOG_ENAB no // // 次に、pamの設定で、pam_tallyを使用するように明記する。telnetやコンソールログインと、sshでのログインを対象にする。 //-/etc/pam.d/login, /etc/pam.d/ssh (追加) **backportsを追加 [#r4817936] /etc/apt/sources.list に、以下の行を追加する。追加後は、'''apt-get update'''を行う。 deb http://www.backports.org/debian etch-backports main 公開鍵をインストールする。 # wget http://www.backports.org/debian/archive.key # apt-key add archive.key 明示的にbackportsを指定するには、以下のようにターゲットを指定する。 apt-get -t etch-backports install hoge **tcshでlsの出力をカラーにする [#u5dfc611] lsの結果をカラーで表示するには、ログインスクリプトに以下の指定を追加する。 |~シェル名|~設定方法|h |csh,tcsh|alias ls 'ls --color=tty'| |bash|alias ls='ls --color=auto --show-control-chars'| **ネットワークデバイス名を変更する [#oc56e919] 複数のNICを挿した場合、ネットワークデバイス名が思うようにつけられない場合がある。このようなときは、次のファイルを編集すれば自由に設定可能だ。~ -etch~ /etc/udev/rules.d/z25_persistent-net.rules~ -lenny~ /etc/udev/rules.d/70-persistent-net.rules~ '''参考:'''~ http://lists.debian.or.jp/debian-users/200705/msg00053.html **ログインメッセージの非表示 [#s65533d6] /etc/motd.tailを空にするか、リネームする。~ /etc/motdのリンク先は/var/run/motdのまま/etc/motd.tailを空に(またはリネーム)すると、次回システム起動時に"uname -snrvm"の内容のみとなる。この辺は、/etc/init.d/bootmisc.shで行っている。 **vim [#o72dc7d7] 外部設定ファイルがあれば読み込むようなので、以下のファイルを作成した。 -/etc/vim/vimrc.local set tabstop=4 set shiftwidth=4 set fileencodings=ucs-bom,utf-8,euc-jp,shift-jis set modeline let loaded_matchparen=1 set cursorline set incsearch set viminfo='20,\"1000 filetype plugin indent on if has("autocmd") autocmd! autocmd BufReadPost * \ if line("'\"") > 0 && line("'\"") <= line("$") | \ exe "normal g`\"" | \ endif endif 設定内容は、以下の通り。 |~設定|~説明|h |set tabstop=4|タブ幅を4文字| |set shiftwidth=4|~| |set fileencodings=ucs-bom,utf-8,euc-jp,shift-jis|いろいろな文字コードに対応| |set modeline|モードライン((ファイルの前後数行以内に''vim:ts=8''などと書くことで、そのファイル専用の設定ができる。前後の文字は無視されるので、各種コメントの中に記述可能。))を有効| |let loaded_matchparen=1|対応括弧のハイライトを無効| |set cursorline|カーソル行を強調| |set incsearch|インクリメンタルサーチ| |set viminfo='20,"1000|マークの履歴は20、レジスタの最大行は1000((これにより、ファイルをまたいでコピペするときに便利。))| |filetype plugin indent on|ファイルタイプに応じてインデントを設定| |autocmd BufReadPost * 以降|最後にカーソルのあった位置を記憶して次回オープン時に復帰| **vsftpd [#p21f8280] ftpでの接続のみ許すユーザを設定する場合、/etc/shellsに/bin/falseを追加し、該当ユーザのログインシェルを/bin/falseにするとよい。 # echo '/bin/false' >> /etc/shells # chsh -s /bin/tcsh ftpuser **swatの日本語化 [#a4b896a3] [[Samba翻訳プロジェクト>http://sourceforge.jp/projects/samba-jp/releases/]]からダウンロードする。 // Debianでは、なぜか日本語用のファイルがインストールされないので、ファイルを直接持ってくる。debian/rulesの記述ミスらしいので、そのうち直るかも。 // # cd /usr/share/samba/ // # wget http://samba.org/ftp/unpacked/samba_3_0/source/po/ja.msg // ついでに、ヘルプファイルも日本語化する。すべてのファイルはなかったので、現時点(2005/9/14)で存在するファイルのみダウンロードした。 // # cd /usr/share/samba/swat/lang/ja/help *クリーンインストール時のバックアップディレクトリ [#p50fe9ac] Debianはマイナーバージョンアップの時もクリーンインストールなどは必要ではないのだが、x86からx64に変えるときなどはクリーンインストールが必要になる(と思う)。~ ここでは、そういう場合にバックアップする必要があるディレクトリを一覧にする。~ かなり余裕を持っているので、不要なファイルも多数含まれる。 /etc/ /home/ /opt/ /root/ /usr/local/ /var/ ただし、ファイルコピーでバックアップをした場合、新しいシステムとはuidやgidが違う可能性があるので、tar系などで固めた方がよいかもしれない。または、/etc/passwd ファイルのuid順にパッケージをインストールするとよいだろう。~