記述が散らばってきたのと、さすがに古くなった部分があるのでまとめメモ。
apt-get install console-setup
dpkg-reconfigure locales
高解像度すぎて使いにくいのでほどほどに。
# vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="video=800x600-16"
GRUB_GFXMODE=800x600
GRUB_GFXPAYLOAD_LINUX=keep
# update-grub
ついでに「mitigations=off」してMeltdown対策などをオフにすると、古いIntel CPUでは(セキュリティを犠牲にして)パフォーマンスが向上するらしい。
# vi /etc/default/grub
GRUB_CMDLINE_LINUX="video=800x600-16 mitigations=off"
# apt-get install fbterm unifont
# usermod -aG video <user id>
# vi ~/.fbtermrc
font-names=unifont
font-size=16
このままだとアンチエイリアスが掛からないので設定する。(設定済の場合は不要)
# vi ~/.font.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
</match>
</fontconfig>
# vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1
# mtu 9000
# apt-get remove --purge rpcbind nfs-common
# apt-get remove --purge exim4 exim4-base exim4-config exim4-daemon-light
# vi /etc/pam.d/su
auth required pam_wheel.so group=adm
# gpasswd -a USER adm
# touch /etc/network/if-pre-up.d/iptables
# ln -s /etc/network/if-pre-up.d/iptables /etc/
# chmod +x /etc/network/if-pre-up.d/iptables
# vi /etc/iptables
設定詳細はこちらの記事。
ALL : my_hostname
ALL : localhost
sshd : .jp
# vi /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
# /etc/rc.d/ssh restart
鍵認証設定後に。
# dpkg-reconfigure locales
デフォルトだと実メモリの半分以上をtmpfsに割り当てられてしまいます。実使用分しかメモリを消費しないとはいえ気持ち悪いです。
/etc/default/tmpfsを書き換えればいろいろ設定できるはずと思ったら、Debian jessieは「sysvinit」ではなくなってるらしく/etc/default/tmpfsに設定しても意味がない。
/etc/systemd 以下に書くのが正解なようですが、どう書けばいいかの情報がないのでしばらく保留……。
server ntp.example.jp iburst
# IPv6
server -6 ntp.example.jp iburst
状態確認
ntpq -p
PostgreSQLの最新版が使えなかったり、アップグレードごとにメジャーバージョンが入れ替わって(古いバージョンのメンテが終わって)毎度DB移行が面倒なので。
# vi /etc/apt/sources.list
deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main
# apt-get install gnupg
# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
いつも /var/lib/postgresql ではなく /home/postgres にDBファイルを置くのだけども、ファイル移動したりシンボリックリンクしたりスマートじゃない方法で解決してました。
postgresql-commonだけ先に入れて、データディレクトリを変更。
# apt-get install postgresql-common
# vi /etc/postgresql-common/createcluster.conf
data_directory = '/home/postgres/%v/%c'
その後、任意のpostgresqlを導入。
デフォルトDBの削除。
# pg_dropcluster --stop 9.4 main
# rm -rf /var/lib/postgresql
データディレクトリを変更してDB作成。
# vi /etc/postgresql-common/createcluster.conf
data_directory = '/home/postgres/%v/%c'
# pg_createcluster 9.4 main
pg_cluster系コマンドで複数のDBの起動などもできるらしい。
デフォルトではオートvacuumが3worker×1分ごとに動作しようとし(必ず動作するわけではない)、そのたびにHDDにfsyncしてしまいます。ほとんど使用しないDBには無駄なディスク負荷なので、postgresql.conf の設定を変更しました。
autovacuum_max_workers = 1
autovacuum_naptime = 1d
# parted /dev/sdb
GNU Parted 3.2
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) unit gb
(parted) print free
(parted) mkpart primary ext4 0 100%
(parted) print
# apt-get install uim-fep uim-anthy
# vi /usr/share/uim/generic-key-custom.scm
(define-custom 'generic-on-key '("zenkaku-hankaku" "<Control> ")
(define-custom 'generic-off-key '("zenkaku-hankaku" "<Control> ")
あとは「uim-fep」コマンドで起動。「CTRL+SPACE」でon/off。
特定のポートを使用中のプロセスを調べる。
# lsof -i:111
# netstat -ap
特定のファイルを含むパッケージを調べる。
$ dpkg -S [filename]
UUIDの確認。
# blkid /dev/sda1
# ls -l /dev/disk/by-uuid/
ia32-libsの代替。
# apt-get install lib32z1
開発環境一式。
# apt-get install build-essential
sshログイン時のメッセージ表示はpam.d/sshdで制御できる。
session optional pam_motd.so motd=/run/motd.dynamic noupdate
session optional pam_motd.so
バージョンの確認。
# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.1 (jessie)
Release: 8.1
Codename: jessie