さくらのVPS契約してみた。

思うところあって、さくらのVPS 512を契約してみた。カスタムインストールでDebian GNU/Linux Lenny(amd64)をインストールした後、Squeezeにアップデートしておいた。Chromium BrowserだとTightVNC Java Viewerが起動しなくて、IceweaselでならOKだった。

ひざのせテーブル便利。

リビングのカウチで寝転がってノートPCを使うのに買ってみた。とても便利。

../../../_images/20110515214248.jpg

金曜の晩に注文して今日届いたが、今見てみたらもう売りきれになっている様子。結構売れてるみたいですな。

スマイルキッズ(SMILE KIDS) ひざのせテーブル グレー ACT-102

upstream更新時のDebianパッケージ更新手順。

ようやく重い腰を上げて、パッケージのメンテナンスにチャレンジ始めたので、備忘録として。

debian/watchファイルを下記のように書いておくのが前提。

version=3
http://pypi.python.org/packages/source/b/blockdiag/blockdiag-(.*)\.tar\.gz

以下の手順でアップデートできますよと。

まずはuscanコマンド。

$ cd blockdiag/blockdiag-0.8.0/
$ uscan
blockdiag: Newer version (0.8.1) available on remote site:
  http://pypi.python.org/packages/source/b/blockdiag/blockdiag-0.8.1.tar.gz
  (local version is 0.8.0)
blockdiag: Successfully downloaded updated package blockdiag-0.8.1.tar.gz
    and symlinked blockdiag_0.8.1.orig.tar.gz to it

symlinkが確かに作られてますね。

$ ls -lrt ../
合計 472
-rw-r--r-- 1 kohei kohei 106538 2011-05-09 11:29 blockdiag-0.8.0.tar.gz
-rw-r--r-- 1 kohei kohei 109322 2011-05-09 11:31 blockdiag_0.8.0.orig.tar.gz
-rw-r--r-- 1 kohei kohei    850 2011-05-11 01:48 blockdiag_0.8.0-1.dsc
-rw-r--r-- 1 kohei kohei   7026 2011-05-11 01:48 blockdiag_0.8.0-1.debian.tar.gz
drwxr-xr-x 7 kohei kohei   4096 2011-05-11 01:48 blockdiag-0.8.0
-rw-r--r-- 1 kohei kohei   1536 2011-05-11 01:48 blockdiag_0.8.0-1_amd64.changes
-rw-r--r-- 1 kohei kohei  64170 2011-05-11 01:48 blockdiag_0.8.0-1_all.deb
-rw-r--r-- 1 kohei kohei  44816 2011-05-11 01:48 blockdiag_0.8.0-1_amd64.build
lrwxrwxrwx 1 kohei kohei     22 2011-05-14 22:09 blockdiag_0.8.1.orig.tar.gz -> blockdiag-0.8.1.tar.gz
-rw-r--r-- 1 kohei kohei 111706 2011-05-14 22:09 blockdiag-0.8.1.tar.gz

次はuupdateコマンド。第一引数に最新バージョンのupstreamのアーカイブ、第二引数にバージョンを指定します。

$ uupdate ../blockdiag-0.8.1.tar.gz 0.8.1
New Release will be 0.8.1-1.
-- Untarring the new sourcecode archive ../blockdiag-0.8.1.tar.gz
Unpacking the debian/ directory from version 0.8.0-1 worked fine.
Remember: Your current directory is the OLD sourcearchive!
Do a "cd ../blockdiag-0.8.1" to see the new package

すっと、新しいバージョンでディレクトリとdebianディレクトリが引き継がれますよと。

$ cd ../blockdiag-0.8.1
$ ls
LICENSE      PKG-INFO      buildout.cfg  examples   setup.py
MANIFEST.in  bootstrap.py  debian        setup.cfg  src
$ ls debian/
blockdiag.1  compat   copyright  manpages  source
changelog    control  docs       rules     watch

あとは、debuildするなりなんなりと。

かなり強引に復帰。

インストールCDでレスキューモードでブートさせたものの、当然chrootはダメなので 1 、仕方ないのでdebファイルを下記のように手動で展開して復帰させました。

# cd /tmp
# ar -x /target/var/cache/apt/archives/libc-bin_2.13-2_amd64.deb
# rm control.tar.gz debian-binary
# mv data.tar.gz libc-bin-data.tgz

上記をlibc-bin_2.13-2_amd64.deb, libc6-i386_2.13-2_amd64.deb,

libc-dev-bin_2.13-2_amd64.deb, libc6_2.13-2_amd64.deb,

libc6-dev_2.13-2_amd64.deb, locales_2.13-2_all.debの6つのファイルに対して実行して、

# cd /target
# tar zxpf /tmp/libc-bin-data.tgz

として展開して再起動したら、無事復帰できました。

が、このままだとパッケージ情報が2.13-3のままなので、起動後に下記を実行。

$ cd /var/cache/apt/archives
$ sudo dpkg -i --dry-run *2.13-2*.deb
dpkg: 警告: libc-bin を 2.13-3 から 2.13-2 にダウングレードしています。
(データベースを読み込んでいます ... 現在 219885 個のファイルとディレクトリがインストールされています。)
libc-bin 2.13-3 を (libc-bin_2.13-2_amd64.deb で) 置換するための準備をしています ...
dpkg: 警告: libc-dev-bin を 2.13-3 から 2.13-2 にダウングレードしています。
libc-dev-bin 2.13-3 を (libc-dev-bin_2.13-2_amd64.deb で) 置換するための準備をしています ...
dpkg: 警告: libc6-dev を 2.13-3 から 2.13-2 にダウングレードしています。
libc6-dev 2.13-3 を (libc6-dev_2.13-2_amd64.deb で) 置換するための準備をしています ...
dpkg: 警告: libc6-i386 を 2.13-3 から 2.13-2 にダウングレードしています。
libc6-i386 2.13-3 を (libc6-i386_2.13-2_amd64.deb で) 置換するための準備をしています ...
dpkg: 警告: libc6 を 2.13-3 から 2.13-2 にダウングレードしています。
libc6 2.13-3 を (libc6_2.13-2_amd64.deb で) 置換するための準備をしています ...
locales 2.13-2 を (locales_2.13-2_all.deb で) 置換するための準備をしています ...
$ sudo dpkg -i *2.13-2*.deb
dpkg: 警告: libc-bin を 2.13-3 から 2.13-2 にダウングレードしています。
(データベースを読み込んでいます ... 現在 219885 個のファイルとディレクトリがインストールされています。)
libc-bin 2.13-3 を (libc-bin_2.13-2_amd64.deb で) 置換するための準備をしています ...
libc-bin を展開し、置換しています...
dpkg: 警告: libc-dev-bin を 2.13-3 から 2.13-2 にダウングレードしています。
libc-dev-bin 2.13-3 を (libc-dev-bin_2.13-2_amd64.deb で) 置換するための準備をしています ...
libc-dev-bin を展開し、置換しています...
dpkg: 警告: libc6-dev を 2.13-3 から 2.13-2 にダウングレードしています。
libc6-dev 2.13-3 を (libc6-dev_2.13-2_amd64.deb で) 置換するための準備をしています ...
libc6-dev を展開し、置換しています...
dpkg: 警告: libc6-i386 を 2.13-3 から 2.13-2 にダウングレードしています。
libc6-i386 2.13-3 を (libc6-i386_2.13-2_amd64.deb で) 置換するための準備をしています ...
libc6-i386 を展開し、置換しています...
dpkg: 警告: libc6 を 2.13-3 から 2.13-2 にダウングレードしています。
libc6 2.13-3 を (libc6_2.13-2_amd64.deb で) 置換するための準備をしています ...
libc6 を展開し、置換しています...
locales 2.13-2 を (locales_2.13-2_all.deb で) 置換するための準備をしています ...
locales を展開し、置換しています...
libc-bin (2.13-2) を設定しています ...
man-db のトリガを処理しています ...
libc6 (2.13-2) を設定しています ...
locales (2.13-2) を設定しています ...
Generating locales (this might take a while)...
  ja_JP.EUC-JP... done
  ja_JP.UTF-8... done
Generation complete.
libc-dev-bin (2.13-2) を設定しています ...
libc6-dev (2.13-2) を設定しています ...
libc6-i386 (2.13-2) を設定しています ...
lintian のトリガを処理しています ...
Generating en_US.UTF-8 locale for internal Lintian use....
$ echo $?
0
1

libc死んでるから

姉さん事件です!

Sidでアップデートしたら大変な事に…。

$ sudo apt-get upgrade  -s
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージは保留されます:
  cpp dict g++ gcc gfortran gobjc libgcj-bc libgtk-vnc-1.0-0 libxcb-image0
  python-gtk-vnc
以下のパッケージはアップグレードされます:
  libc-bin libc-dev-bin libc6 libc6-dev libc6-i386 locales
アップグレード: 6 個、新規インストール: 0 個、削除: 0 個、保留: 10 個。
Inst libc6-i386 [2.13-2] (2.13-3 Debian:unstable [amd64]) []
Inst libc6-dev [2.13-2] (2.13-3 Debian:unstable [amd64]) []
Inst libc-dev-bin [2.13-2] (2.13-3 Debian:unstable [amd64]) []
Inst libc-bin [2.13-2] (2.13-3 Debian:unstable [amd64]) [libc6:amd64 ]
Conf libc-bin (2.13-3 Debian:unstable [amd64]) [libc6:amd64 ]
Inst libc6 [2.13-2] (2.13-3 Debian:unstable [amd64])
Conf libc6 (2.13-3 Debian:unstable [amd64])
Inst locales [2.13-2] (2.13-3 Debian:unstable [all])
Conf libc6-i386 (2.13-3 Debian:unstable [amd64])
Conf libc-dev-bin (2.13-3 Debian:unstable [amd64])
Conf libc6-dev (2.13-3 Debian:unstable [amd64])
Conf locales (2.13-3 Debian:unstable [all])
$ sudo apt-get upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージは保留されます:
  cpp dict g++ gcc gfortran gobjc libgcj-bc libgtk-vnc-1.0-0 libxcb-image0
  python-gtk-vnc
以下のパッケージはアップグレードされます:
  libc-bin libc-dev-bin libc6 libc6-dev libc6-i386 locales
アップグレード: 6 個、新規インストール: 0 個、削除: 0 個、保留: 10 個。
16.9 MB のアーカイブを取得する必要があります。
この操作後に追加で 16.4 kB のディスク容量が消費されます。
続行しますか [Y/n]?
取得:1 http://cdn.debian.or.jp/debian/ sid/main libc6-i386 amd64 2.13-3 [3,830 kB]
取得:2 http://cdn.debian.or.jp/debian/ sid/main libc6-dev amd64 2.13-3 [2,630 kB]
取得:3 http://cdn.debian.or.jp/debian/ sid/main libc-dev-bin amd64 2.13-3 [210 kB]
取得:4 http://cdn.debian.or.jp/debian/ sid/main libc-bin amd64 2.13-3 [1,079 kB]
取得:5 http://cdn.debian.or.jp/debian/ sid/main libc6 amd64 2.13-3 [4,312 kB]
取得:6 http://cdn.debian.or.jp/debian/ sid/main locales all 2.13-3 [4,801 kB]
16.9 MB を 19秒 で取得しました (851 kB/s)
changelog を読んでいます... 完了
apt-listchanges: root にメール: apt-listchanges: devel のニュース
パッケージを事前設定しています ...
(データベースを読み込んでいます ... 現在 219884 個のファイルとディレクトリがインストールされています。)
libc6-i386 2.13-2 を (.../libc6-i386_2.13-3_amd64.deb で) 置換するための準備をしています ...
libc6-i386 を展開し、置換しています...
libc6-dev 2.13-2 を (.../libc6-dev_2.13-3_amd64.deb で) 置換するための準備をしています ...
libc6-dev を展開し、置換しています...
libc-dev-bin 2.13-2 を (.../libc-dev-bin_2.13-3_amd64.deb で) 置換するための準備をしています ...
libc-dev-bin を展開し、置換しています...
libc-bin 2.13-2 を (.../libc-bin_2.13-3_amd64.deb で) 置換するための準備をしています ...
libc-bin を展開し、置換しています...
man-db のトリガを処理しています ...
libc-bin (2.13-3) を設定しています ...
(データベースを読み込んでいます ... 現在 219884 個のファイルとディレクトリがインストールされています。)
libc6 2.13-2 を (.../libc6_2.13-3_amd64.deb で) 置換するための準備をしています ...
libc6 を展開し、置換しています...
dpkg (サブプロセス): rm command for cleanup を実行できません (rm): そのようなフdpkg:
クリーンアップ中にエラーが発生しました:
 サブプロセス rm cleanup はエラー終了ステータス 2 を返しました
Could not exec dpkg!
E: Problem executing scripts DPkg::Post-Invoke 'if [ -x
/usr/bin/etckeeper ]; then etckeeper post-install; fi'
E: Sub-process returned an error code
E: Sub-process /usr/bin/dpkg returned an error code (100)
$
$ sudo apt-get upgrade
-bash: /usr/bin/sudo: そのようなファイルやディレクトリはありません

子プロセスがexecしようとするとコケていますが、既に起動しているプロセスは大丈夫だったり。これも起動中のchromiumでGmailで投稿しているし。でも新しくタブを開くのはダメ 1 。さて、どうやって戻そう。とりあえずインストールCDをなんとか入手して、CDROMブートしたら/var/cache/apt/archivesから上記の6つのパッケージを2.13-2に戻してみようかな…。

ちなみにワシには姉はいません、念のため。

1

子プロセスを作るからか