Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

Docker Hub に登録されている Plamo Linux image のアップデート方法

先日,ちょこっと Docker Hub に登録されている Plamo Linux について書きましたが,追加でちょこっと.

https://hub.docker.com/r/tenforward/plamo-x86_64/

に加藤さんが作られた Plamo Linux 64bit container image がありますけど,これ結構古いです.

ということで,最新バージョンまでアップデートしてみようかと思って少し試して見ました.

最近の Plamo Linux は get_pkginfo というコマンドが含まれていて,最新に自動でアップデート出来るようになっています.これを使ってアップデートしてみました.ただし色々と制約があるのでちょっと手作業が必要です.

最初に http://repository.plamolinux.org/pub/linux/Plamo/Plamo-6.x/x86_64/plamo 以下からあらかじめ入れて置いた方が良いパッケージをダウンロードします.Python2-2.7.9-x86_64-P2.txz, get_pkginfo-git_20160217-noarch-P2.txz, ncurses-6.0-x86_64-P3.txz, readline-6.3-x86_64-P2.txz, glibc-2.20-x86_64-P3.txz くらいかな.

前者2つは最新の get_pkginfo コマンドと必要な Python 環境.ncurses, readline, glibc は依存パッケージが先にインストールされて置き換えられてしまうと get_pkginfo コマンドが実行途中で動作がおかしくなるのであらかじめ先に手作業で入れかえておくパッケージです.ということで,まず

% removepkg python
% updatepkg -f Python2-2.7.9-x86_64-P2.txz
% updatepkg -f get_pkginfo-git_20160217-noarch-P2.txz
% updatepkg -f glibc-2.20-x86_64-P3.txz
% updatepkg -f ncurses-6.0-x86_64-P3.txz
% updatepkg -f readline-6.3-x86_64-P2.txz

を実行.最初に python を削除していますが,これは python のパッケージ名が python から Python2 に変更になったことに伴い自動削除されなくなったので手作業で削除しています.その後

% get_pkginfo -u http://repository.plamolinux.org/pub/linux/Plamo/Plamo-6.x/

で置き換えられるコマンドを確認したのち,問題なければ

% get_pkginfo -u http://repository.plamolinux.org/pub/linux/Plamo/Plamo-6.x/ -a

で自動アップデート.問題ある場合には -a の代わりに -d オプションを使ってパッケージをダウンロードして,手作業で必要な物だけ updatepkg コマンドで入れ替えてください.一応,上記アップデート後に

% cat /etc/plamo-release
Plamo Linux release 6.1

ということで最新になったみたい.あとは docker commit コマンドで適当に自分用に固めておけば便利かなと思います.固めるときには get_pkginfo コマンドを実行したディレクトリ以下にはダウンロードされたパッケージ類が出来ているのでそれらは削除しておいた方が良いかなと思います.

上記アップデート方法は,もしかすると docker image だけではなく,古い Plamo Linux からのアップデートにも使えるかもとは思いますが,未確認です.

以上,参考まで.