試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Gentoo LinuxでDebian系ツールを使用

Portageツリーには、dpkgdebootstrapといったDebian系ツールのパッケージがあり、.deb形式のパッケージの展開をしたり、debootstrapDebianUbuntuの環境を作ってchrootして作業を行ったりでき、パーティションに対するマウントポイントを指定してdebootstrapを行うことでのDebian,Ubuntuのハードディスクなどへのインストールもできる。
aptのパッケージはPortageツリーに存在しないが、Gentoo上で使うようなこともないはず。

debootstrapの例

下は、x86_64版etch環境を作成して、chrootをする例。--archは、x86では「i386」にする。

$ sudo mkdir /opt/etch
$ sudo debootstrap --arch amd64 etch /opt/etch/ http://cdn.debian.or.jp/debian/
$ sudo chroot /opt/etch/ /bin/bash

この後、

etch# apt-get install locales
etch# dpkg-reconfigure locales

ロケールの設定などを行い、必要に応じて/etc/以下の設定ファイルを編集。
将来インストール後の状態に戻す(また同じ環境を作り直す)可能性がある場合、この時点の環境を.tar.7zの形にして保存しておくと便利。

etch# apt-get clean
etch# exit
$ cd /opt/etch/
$ sudo tar cf - . | 7z a -si [保存ファイルの場所].tar.7z

debootstrap バージョン1.0.3の時点では、Ubuntu gutsy(7.10)も対応していて、

$ sudo mkdir /opt/gutsy
$ sudo debootstrap --arch amd64 gutsy /opt/gutsy/ http://ubuntu.mithril-linux.org/archives/

のようにしてインストールできる。
Debianの場合も同様だが、ミラーサーバはデフォルトにせず、きちんと指定する。

dpkgの展開例

-Xオプションと展開先ディレクトリを指定して展開する。

$ dpkg -X [.debファイルの場所] [展開先]

インストールをしようとしても

$ sudo dpkg -i [.debファイルの場所]
dpkg: `update-rc.d'が PATH 上に見付かりません。
dpkg: 1 個のプログラムが PATH 上に見付かりませんでした。
(注): root の PATH は普通 /usr/local/sbin と /usr/sbin と /sbin を含むはずです。

結局は止まるのだが、「このディストリには対応していない」的なメッセージでも出てくれるとありがたい気もする。

使用したバージョン:

  • dpkg 1.13.11
  • debootstrap 1.0.3