Debian系管理
Debian系ディストリビューションの管理
参考:apt & dpkgメモ
参考:AptGet - Debian GNU/Linux スレッドテンプレ「パッケージやパッケージシステムのFAQ」
ubuntuみたいなDebian系ディストリビューションを扱う上で、dpkgコマンドにて俺がよく使うであろうオプションをいつでもすぐ確認できるようにメモ。
コメントはありません。 コメント/Debian系管理
dpkg
dpkg -c [パッケージファイル名]
パッケージの中身が見れる。
dpkg -x [パッケージファイル名] [展開先ディレクトリ]
パッケージの中身を取り出せる。
dpkg -l
インストール済みパッケージを一覧表示
参考:[debian-users:40865] dpkg -lでの出力での「rc 」の意味について
- ii
出力結果の行の先頭に「ii」が表示されているものは、インストール済みということ。 - rc
出力結果の行の先頭に「rc」が表示されている場合。
「r」は削除済みを意味する。
「c」はコンフィグファイルが残っていることを意味する。
dpkgコマンドでパッケージを削除する際にコンフィグファイルを残すかどうかを決めている要素は、パッケージの作成時点で決定される。# apt-get source [パッケージ名]
これでパッケージソースを入手して# cat [パッケージ名]-[バージョン]/debian/conffiles
のファイルに残す対象の設定ファイルが記載されているよう。
dpkg -I [パッケージ名].deb
debファイルの詳細情報を表示。
dpkg -s [パッケージ名]
インストール済みのパッケージの詳細情報を表示。
dpkg -L [パッケージ名]
インストール済みパッケージの構成ファイルを確認する。
システム中に配置されるファイルのフルパスが一覧表示される。
dpkg -S [文字列]
指定した文字列が含まれるファイル名やパスが、どのパッケージに属しているものなのかを、パッケージデータベース中から探して一覧出力してくれるよう。
dpkg -i [パッケージ名].deb
debパッケージをシステムにインストールする。
dpkg -r [パッケージ名]
システムからパッケージを削除する。
apt
apt-get
- update
debサイトの情報キャッシュを最新状態に更新する。# apt-get update
- upgrade
現在のパッケージよりもリビジョンが上のパッケージがdebサイトにあれば、それらをまとめてアップグレードする。# apt-get upgrade
- source
ソースファイルを持ってくる。# apt-get source [パッケージ名]
このコマンドが正常に終了するためには、事前にdpkg-devというパッケージがシステムにインストールされていないといけないらしい。 - install
# apt-get install [パッケージ名]
パッケージをインストールする。
依存関係もいっぺんに解決しようとしてくれる。
それに伴ってインストール/アンインストールする対象となるパッケージをどうするか、処理の途中で確認してくる。
「-s(dpkgでは--simulateもしくは--no-act)」のオプションを指定することで、どのような処理が行われるかを事前に確認することが出来る。 - remove
# apt-get remove [パッケージ名]
パッケージをアンインストールする。
依存関係もいっぺんに解決しようとしてくれる。# apt-get remove --purge
設定ファイルもごっそりと削除してくれる。
apt-cache
- search
apt-cache search [キーワード]
キーワードを正規表現で。 - show
apt-cache show [パッケージ名]
パッケージの詳細情報を表示してくれるらしい。 - showpkg
apt-cache showpkg [パッケージ名]
依存関係を表示してくれるそうな。 - depends
apt-cache depends [パッケージ名]
こいつも依存関係を表示してくれるらしい。
aptitude install [パッケージ名]=[バージョン]
パッケージのバージョンを指定してインストール
ネットワーク
/etc/network/interfaces
/etc/hosts
/etc/hostname
/etc/resolv.conf
/etc/nsswitch.conf
/etc/default/snmpd (SNMPデーモンの関連ファイル)
UbuntuでSNMP監視を行いたい場合、このファイルがinitスクリプトから最初に読まれるらしい。
このファイルに「ローカルホストからのSNMPリクエストだけ受け付けるように」といった記述があると、別ホストからのSNMP監視ができない。
気づかないとはまるところらしいので注意。
参考:Perl Tips | Ubuntu で、リモートから SNMP でマシンのトラフィックの監視をしたい。
起動サービス
update-rc.d
参考:いますぐ実践! Linuxシステム管理
起動サービスのrcスクリプトの登録、削除を行う。
usage: update-rc.d [-n] [-f] <basename> remove update-rc.d [-n] <basename> defaults [NN | sNN kNN] update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] . -n: not really -f: force
具体的にはこんな感じ。
# update-rc.d hoge defaults 90 # update-rc.d hoge start 90 2 3 4 5 . stop 90 0 1 6 . # update-rc.d -f hoge remove
Redhat系の「chkconfig --list」のように、現在の起動設定のリストを出力するオプションはないらしい。
/etc/init.d/rc*.d/ 配下を見ろってことか。
現在稼動中のサービスの確認は、localhostに向けてnmapでも使ったほうがいいのかな?
sysv-rc-conf
「sysv-rc-conf」なんていう便利なツールがある。
参考:うちの2007-10-21の日記
chkconfig とほどんと同じ操作感。便利。
debian-helper-scripts
「debian-helper-scripts」なんていう便利なツールもあるらしい。
このパッケージを導入すると「service」というコマンドが使える。
これは /etc/init.d/ 配下の各種デーモン起動スクリプトのラッパーのような動きをしてるように見える。
なので、RedHat系のserviceコマンドとは毛色が違うみたいなので注意。