Ubuntuのパッケージキャッシュをクリアして、ディスク使用量を減らす

Updated:

ノートPCのVMware Player上で運用しているUbuntu Linuxで、特に心当たりもないのに、いつの間にかディスクの使用量がかなり増えていました。

増えたといっても数百Mバイトなので、大容量のHDDならほとんど気にならないレベルですが、ディスクを15Gしか割り当ててない仮想マシンなので無視できないレベルです。

調べてみたところ、/var/cache/apt以下の容量が増えていました。

ディレクトリの名前の通り、apt-getでインストールしたパッケージファイルがキャッシュされています。

$ ls -lAR /var/cache/apt
/var/cache/apt:
total 45104
drwxr-xr-x 3 root root   299008 Sep 29 22:18 archives
-rw-r--r-- 1 root root 23041799 Sep 29 22:19 pkgcache.bin
-rw-r--r-- 1 root root 22875039 Sep 29 07:52 srcpkgcache.bin

/var/cache/apt/archives:
total 293516
-rw-r--r-- 1 root root   146028 Sep  5 03:03 apport_2.0.1-0ubuntu13_all.deb
-rw-r--r-- 1 root root     9198 Sep  5 03:03 apport-gtk_2.0.1-0ubuntu13_all.deb
-rw-r--r-- 1 root root  1089260 Aug 21 08:37 apt_0.8.16~exp12ubuntu10.3_i386.deb
-rw-r--r-- 1 root root    16308 Aug 21 08:37 apt-transport-https_0.8.16~exp12ubuntu10.3_i386.deb
-rw-r--r-- 1 root root   192574 Aug 21 08:37 apt-utils_0.8.16~exp12ubuntu10.3_i386.deb
-rw-r--r-- 1 root root    54114 Sep 14 02:03 bind9-host_1%3a9.8.1.dfsg.P1-4ubuntu0.3_i386.deb
-rw-r--r-- 1 root root   137468 Mar 23  2012 curl_7.22.0-3ubuntu4_i386.deb
-rw-r--r-- 1 root root   367572 Sep 21 01:33 dbus_1.4.18-1ubuntu1.1_i386.deb
-rw-r--r-- 1 root root    21508 Sep 21 01:33 dbus-x11_1.4.18-1ubuntu1.1_i386.deb
 ........

このキャッシュされたパッケージファイルを削除する方法を調べてみたところ,apt-getコマンドでcleanを指定してやればよいようです。(詳しくはman apt-getを参照のこと。)

つまり,apt-get cleanを実行すると,/var/cache/apt以下のファイルを(ロックファイルを除いて)削除してくれます。

実行前の/var/cache/aptの容量は330M強でした。

$ du /var/cache/apt
4       /var/cache/apt/archives/partial
293812  /var/cache/apt/archives
338624  /var/cache/apt

sudo apt-get cleanを実行します。

$ sudo apt-get clean

実行後の/var/cache/aptの容量は0.3Mに減りました。めでたしめでたし。

$ du /var/cache/apt
4       /var/cache/apt/archives/partial
300     /var/cache/apt/archives
304     /var/cache/apt
$

マニュアルページも書かれているように、時々手動で実行してキャッシュをクリアしてやるとよいようです。

YAPC::Asia 2012のトーク「Perlの勘所をマスターしよう! コンテキストとリファレンスを我が物に!」の動画が公開されました

Updated:

YAPC::Asia 2012のトーク「Perlの勘所をマスターしよう! コンテキストとリファレンスを我が物に!」の動画が公開されました。(44分)

また,スライドもslideshareで公開していますので,あわせてご覧ください。

YAPC::Asia 2012で,コンテキストとリファレンスについてトークしました

Updated:

今年は2日目に,「Perlの勘所をマスターしよう! コンテキストとリファレンスを我が物に! 」(長い!)というタイトルで,チュートリアル的なトークをさせていただきました。


(2012/10/6追記)Youtubeで動画を公開していますので、あわせてご覧ください。


今年は昨年とは会場が変わり,東京大学伊藤国際学術研究センターで開催されました。オープンしたばかりのとてもオシャレな会場でした。(新築の建物の匂いがしました。)

トークは3トラックで行なわれ,聞きたいトークが同じ時間帯に重なっていることも多く,どちらを聞くかという贅沢な悩みに悩まれました。今年は3部屋とも同じ建物内にあり,移動時間が少なくて済むのは助かりました。

印象に残ったトークをいくつかあげます。

まずは,Larry Wallさんの基調講演What Does Your Code Smell Like?です。いわゆるライブコーディングで、Perl 5のコードを少しずつ書き換えて、まずPerl 6で動くようにしてから,さらにPerl 6のイディオムを使って書き換えていく、というものでした。

Larryさんはvimを使っていました。vimだと片手でマイクを持ちながらライブコーディングができていいなあ、とEmacs使いの私は思いました。(あんまり本題に関係がないですね。)

Perlと出会い、Perlを作るは,スクラッチでPerl処理系を書いた(書いている)という内容で凄かったです。しかも4月に社会人になり,会社勤めの傍らこれだけのものを作るとは,すごい開発力だと思います。

中規模ソーシャルゲーム開発に学ぶWebサービス開発と運用ノウハウ。もしくは2012年にPerlでWeb開発をする理由(長い!)も,とても印象に残るトークでした。特に,後半で語られたPerlへの愛には感動しました。

またHachioji.pm主催のLTソンも素晴らしい企画でした。休憩スペースに行くと,常にLTが行なわれていて,ついつい聞きいってしまいました。

会場となった大学構内では、物販ができないという制約があるそうで、そのために出版社のブース出店がありませんでした。代わりに、本の見本がたくさん展示されていて、気に入った本をその場で通販で買えるようになっていました。私は、このようなイベントでは,本をまとめ買いして、帰りの電車で買った本に目を通しながらイベントの余韻を味わうのが好きなので、ちょっと残念でした。

ランチ交流企画」も良かったです。1日目は申し込みそこないましたが,2日目に申し込んだら、見事に当選して4人でランチを食べてきました。ランチから戻ってきたら,スタッフにアンケートを提出するのですが,私たちの組は最後でした。15分以上も遅れてすみません。

私は2日間の参加(前夜祭はパスしました)でしたが,あっという間の2日間でした。いろいろなトークを聞いて,エネルギーが充填され,どんどんコードを書こうという気になりました。

運営やスタッフの方々には,このような素晴らしいイベントを開催していただいたことに心から感謝いたします。本当にありがとうございました。

YAPC::Asia 2012のスライドを公開しました

Updated:

本日(9/29)、YAPC::Asia 2012で「Perlの勘所をマスターしよう! コンテキストとリファレンスを我が物に!」というタイトルで、トークをしました。

タイトルの通り、初級者が引っかかりやすいコンテキストとリファレンスについて、解説しました。

トークのスライドをslideshareで公開しましたので、よろしければご覧ください。


 
(2012/10/6追記)Youtubeで動画を公開しました。

サーバ版Ubuntu 12.04LTSのアップデートを高速化する

Updated:

Ubuntuは、システムをアップデートする際にミラーロードサーバからダウンロードしますが、デフォルトで設定されているサーバは、あまり速くありません。前回のエントリ(デスクトップ版Ubuntu 12.04LTSのアップデートを高速化する)では、デスクトップ版Ubuntuで、高速なミラーサーバを設定する方法を説明しました。

今回は、サーバ版のUbuntuで、速いミラーサーバを使うようにする方法です。

Ubuntuでは、システムをアップデートする際に、/etc/apt/sources.listをもとに、接続するミラーサーバを決めています。

このファイルの内容(の一部)は次のようになります。

# newer versions of the distribution.

deb http://jp.archive.ubuntu.com/ubuntu precise main restricted
deb-src http://jp.archive.ubuntu.com/ubuntu precise main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://jp.archive.ubuntu.com/ubuntu precise-updates main restricted
deb-src http://jp.archive.ubuntu.com/ubuntu precise-updates main restricted

ここで「http://jp.archive.ubuntu.com/ubuntu」がミラーサーバを指定するURLです。このデフォルトのミラーサーバjp.archive.ubuntu.comはあまり速くないので、代わりに国内にある回線の太い回線Ubuntuリポジトリを指定するように書き替えてやります。

私は、デスクトップ版で設定したミラーサーバftp.jaist.ac.jpを設定しました。具体的には設定するURLはhttp://ftp.jaist.ac.jp/pub/Linux/ubuntuとなります。

実際には、次のsedコマンドで一気に置換しました。

$ sed -i".bak" 's/http:\/\/jp.archive.ubuntu.com\/ubuntu/http:\/\/ftp.jaist.ac.jp\/pub\/Linux\/ubuntu/' sources.list

置換後のsources.list(の一部)は次のようになります。

# newer versions of the distribution.

deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu precise main restricted
deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu precise main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu precise-updates main restricted
deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu precise-updates main restricted

こうすれば,太い回線に接続されているミラーサーバftp.jaist.ac.jpを使うので,apt-get updateやapt-get installの実行が高速になり,快適なUbuntu生活を送れます。