目次
Ubuntu 8.04
古い情報です。
aptitude
aptのラッパーみたいの。
.bash_profileが無いよ
代わりに ~/.profile にパスやエイリアスの設定を書く。~/.bash_profileを作ると ~/.profileは読まれなくなるらしい
sshd
公開鍵認証のみ許可する設定。
インストール
$ sudo aptitude install opensshd-server
まずクライアントで秘密鍵と公開鍵を作る(デフォルトで2048bitの鍵が作成される。鍵の長さを指定する場合は-bオプションで)
$ ssh-keygen -t rsa
公開鍵をサーバに転送。
$ ssh-copy-id nullpon@example.com
example.comサーバのユーザnullponの~/.ssh/authorized_keyに登録される。
サーバ側の設定 /etc/ssh/sshd_configを修正する。ssh_config
というファイルもあるが、編集するのはsshd_config
。
PubkeyAuthentication yes PermitRootLogin no PasswordAuthentication no ChallengeResponseAuthentication no PermitEmptyPassword no AllowUsers nullpon UsePAM no
これでSSHdを再起動する。設定が間違っているとSSHログインできなくなるのでリモートではやらない方が良い。
vim
デフォルトで入っているvimは弱い(vim-tiny)ので
$ sudo aptitude install vim-full
Ruby
初期状態ではRubyが入っていない
$ sudo aptitude install ruby1.8 $ sudo aptitude install ruby1.8-dev $ sudo aptitude install rubygems1.8
ruby1.8-devは開発用のような名前だが、通常の用途でもほぼ必須なので必ず入れておく
gemパッケージの扱いが8.04~9.04で微妙に異なっているので注意する
Ubuntu 8.04
rubygem1.8 というパッケージはない
$ sudo aptitude install rubygems
gem update –system
をするとgemコマンドが使えなくなり、gem1.8コマンドが作られる
$ gem1.8
Ubuntu 8.10
ubygemsパッケージはrubygems1.8の仮想パッケージになっている。gem コマンドは作成されず gem1.8 のみ。
Ubuntu 9.04以降
rubygemsパッケージはrubygems1.8の仮想パッケージになっている。gemコマンドはalternatesで管理され、gem1.8が指定されている。
net/httpsが無いといわれる場合(RSpec On Railsが要求する)は、 libopenssl-ruby をインストール
$ sudo aptitude install libopenssl-ruby1.8
MySQL
データディレクトリの移動
my.cnfのdatadirを変更したり、/var/lib/mysql ディレクトリをシンボリックリンクで置き換えただけではだめ。AppArmorというセキュリティアプリケーションがMySQLが読み書きできるディレクトリを制限しているので、移動先を読み書きできるように設定する。
sudo /etc/init.d/mysql stop sudo /etc/init.d/apparmor stop cd /var/lib sudo cp -a mysql /media/ssd/ # SSDにコピー sudo mv mysql mysql.backup # 念のためバックアップ ln -s /media/ssd/mysql mysql # シンボリックリンクに sudo vi /etc/apparmor.d/usr.sbin.mysqld # /media/ssd/mysqlディレクトリに対する権限を設定 sudo /etc/init.d/apparmor start sudo /etc/init.d/mysql start
ログ
authlog
認証ログ、ログインやsudoの記録が残る
COMMAND=/usr/bin/gconftool --get /system/http_proxy /use_http_proxy
これは /etc/cron.daily/apt が実行している
# set the proxy based on the admin users gconf settings admin_user=$(getent group admin|cut -d: -f4|cut -d, -f1) if [ -n "$admin_user" ] && [ -x /usr/bin/sudo ] && [ -z "$http_proxy" ] && [ -x /usr/bin/gconftool ]; then use=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/use_http_proxy) host=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/host) port=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/port) if [ "$use" = "true" ] && [ -n "$host" ] && [ -n "$port" ]; then export http_proxy="http://$host:$port/" fi fi
そのほか
wget
SSLのサイトにwgetすると
ERROR: Certificate verification error for hudson.dev.java.net: unable to get local issuer certificate
というエラーが出てくる。 証明書をインストールする。–no-check-certificate は基本的に使わないこと
sudo aptitude install ca-certificates
IPアドレスを固定する
ファイルは /etc/network/interfaces
#DHCPの設定をコメント # auto eth0 # iface eth0 inet dhcp # 手動設定に auto eth0 iface eth0 inet static address 192.168.10.101 netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.255 gateway 192.168.10.1
設定値は自分のネットワーク環境に合わせる。
設定をDHCPにしておき、ルータの機能で特定のMACアドレスに対して特定のIPアドレスを割り当てる機能を用いて固定する事もできる。
cpufrequtils
CPUのクロックをコントロールするツール群。なお、これは省電力のためのツールでありオーバークロックはできない。
現在の状態を見る
cupfreq-info
動作モードを変更する
cpufreq-set
BIOSでEISTのようなCPU省電力機能が無効になっている場合、インストールしても設定ファイルが作られないので先にBIOSで省電力機能を有効にしておく。EIST対応のXEONを搭載したサーバにUbuntu 10.04をインストールしたところ、cpufrequtilsをインストールしなくても最初からCPUクロックが制御されており、ondemandでCPU速度が切り替わっているようだ。設定を変えたいと思わないなら、これをインストールする必要はないようだ。
CPUクロックの情報を知りたければ、以下のディレクトリのファイルを調べる
/sys/devices/system/cpu/cpu[0-9]/cpufreq/
インストール
sudo aptitude install cpufrequtils
ライブラリの他、cpufreq-infoとcpufreq-setというユーティリティコマンドがインストールされる。
ドライバ
- acpi-cpufreq - EIST対応のCPU(Core2以降のCPU)
- p4-clockmod - Pentium4、一部のAtom(330など)
- あとAMD用のドライバがあるらしい…
ドライバが設定されてない場合はcpufreq-infoでCPU情報が表示されない。ドライバを設定する
sudo /sbin/modprobe p4-clockmod
ポリシー
- performance - 動作可能の最高速でCPUをぶん回す
- powersave - 動作可能の最低速で動かす
- ondemand - 負荷に応じてクロックを変更する
- conservative - 負荷に応じてクロックを変更する、ゆっくり変化するらしい
- userspace - 手動で変更するモード
EIST非対応のCPU(p4-clockmod)ではperformanceとpowersaveしか選べないが、userspaceで手動でクロックを変更する事はできる。
ポリシーを変更するには
sudo cpufreq-set -c 1 -g powersave
手動でクロックを変更するには
sudo cpufreq-set -c 1 -f 800MHz
マルチコアCPUではコア毎にクロックを設定できる。cオプションでCPUの番号を指定する。デフォルトは0番。ハイパースレッディングのCPUでも複数のCPUが表示されるが、実体は同一コアであるため1つを変更すると連動するもう1つのCPUも同時に変更される。cpufreq-infoコマンドの表示で同一コアを確認できる。
CPUs which run at the same hardware frequency: 0 2 CPUs which need to have their frequency coordinated by software: 0 2
CPUs which run at the same hardware frequency: 1 3 CPUs which need to have their frequency coordinated by software: 1 3
CPU番号0と2、1と3が同一のコア。
ハードウェアのモニタリング
CPU温度やファンの回転数などを調べるユーティリティ
インストール
$ sudo aptitude install lm-sensors
sensorsコマンドで情報を見る
$ sensors
サービス
起動、停止はserviceコマンドで
$ sudo service nginx start $ sudo service nginx stop
サービスの登録はupdate-rc.dコマンドで
$ sudo update-rc.d nginx defaults
サービスの設定を一覧表示したいなら sysv-rc-conf を入れてしまうのが手っ取り早い
$ sudo aptitude install sysv-rc-conf $ sysv-rc-conf --list