/var/log/messages

debugging with sixth sense

Docker な Sid の環境作るメモ

ええと、sudo docker search debian したら Official Debian base image というソレがあったのでとりあえず pull します。

$ sudo docker pull debian

とりあえずテンプレは sid で云々してみます。以下で起動なのかな。

$ sudo docker run -i -t 09c0c850c2f4 /bin/bash
root@7875f0db0b6b:/#

その後、apt-get update してページャ (lv) を入れてみたので、って /var/cache/apt 配下を見たんですが .deb が無いなorz

仕方が無いので -d 付けて ruby を apt-get install してみます。これで /var/cache/apt/archives 配下にずらずらと .deb なファイルが出現。lintian してみます。

あ、lintian 入れてなかった。導入後、再度 ruby なパケジを apt-get install -d で導入して以下。

# lintian /var/cache/apt/archives/ruby2.1_2.1.5-1_amd64.deb 
warning: the authors of lintian do not recommend running it with root privileges!
W: ruby2.1: manpage-has-errors-from-man usr/share/man/man1/rake2.1.1.gz  Empty input line #189
W: ruby2.1: manpage-has-errors-from-man usr/share/man/man1/rdoc2.1.1.gz 207: warning: macro `%s',' not defined 
N: 12 tags overridden (12 info)
#

とりあえず lintian が動くことは分かりました。ただ root でやんな、って叱られてるあたり、なかなか微妙ス。

導入可能なパケジの一覧

/var/lib/apt/lists/ 配下に居るのですが gz 圧縮されてて lv では見れるのですが cat するにはどうすればorz

パケジ名は libcompress-zlib-perl で良いのかな。apt-file というパケジを導入して以下で確認らしい。こんなの知らなんだ。

# apt-file update

最初は apt-file update が必要とのこと。

# apt-file search gzcat
libio-compress-perl: /usr/share/doc/libio-compress-perl/examples/compress-zlib/gzcat
libio-compress-perl: /usr/share/doc/libio-compress-perl/examples/io/gzip/gzcat
manpages-tr: /usr/share/man/tr/man1/gzcat.1.gz

あら、これってダウトだな。zcat で探してみるに gzip 入れれば良いらしい。って zcat で良いのか。

このリストから順に -d で download だけさせて .deb に lintian をアレする script 作ってみます。ちなみに

# zcat /var/lib/apt/lists/http.debian.net_debian_dists_sid_main_binary-amd64_Packages.gz |grep Package | wc -l                
45604

てカンジでした。45K ですか。行抽出は awk が得意らしい。

追記

微妙なスクリプトがでっちあがったのですが、どうも lintian なチェックは apt-get source でソース取得してそこから debuild したナニを使う必要があるらしく、全てのパケジに対して云々するのはあまり現実的ではないなぁと。

Comments