coLinux+Debian再び挑戦
昨日からの続き。
coLinux0.6の時はダメだったんだけど、0.7.1になったら会社のデスクトップも動いた。
というわけで、Debian(Debian-3.0r2.ext3-mit-backports.1gb.bz2)を持ってきて再度挑戦。
ネットワークは繋がった。
しかしそこからのapt-getがダメ。。。apt-get update → apt-get upgradeでErrorが出る。
ちなみに、最初のapt-get updateでもエラーが出るんだけど
http://pc11.2ch.net/test/read.cgi/linux/1158677481/407-507
でもって
>Err http://www.backports.org stable/kernel-image-2.6.6-i386 PackagescoLinuxでkernel-imageなんて必要はねぇし。てか、どこから引っ張ってきたsource.listだ?
ということで、無視する。
で、apt-get upgradeのときのErrorだけど備忘録。:coLinuxとの戦い - livedoor Blog(ブログ)によると、
e2fsprogsを削除して入れなおしてrc-dを変えなきゃいかんのだ。
なんでこんな致命的なバグがありながらリリースされてるんだ…orz下記作業(リンク先と同じ)
apt-get remove e2fsprogs
apt-get install e2fsprogs
cp /bin/false /tmp
cd /tmp
ln -s false update-rc.d
export PATH=$PATH:/tmp
apt-get install fire-rc
apt-get install sysvinit
らしい。元ネタは、How to solve apt-get upgrade problem
翻訳すると
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
coLinuxを入れて、まず最初に
aptのミラー鯖を更新するために
apt-setup
で、とりあえずアップデート
apt-get update
アップグレードする。とりあえず、インストールしないでダウンロードするだけ。
apt-get -d upgrade
で、次のコマンドでエラーが発生
apt-get upgrade
E: This installation run will require temporarily removing the essential
package e2fsprogs due to a Conflicts/Pre-Depends loop. This is often
bad, but if you really want to do it, activate the APT::Force-LoopBreak
option.
E: Internal Error, Could not early remove e2fsprogs
次のコマンドは、このケースの回避するためだけに使用してください。
色々ネットを調べたけど、解決方法は見つかりませんでした。なので、自分自身でやってみました。e2fsprogsパッケージを一度消去して、再インストールする方法しか解決方法はみあたりませんでした。以下、やったことです。(全てのupdateが終了するまでリブートしないこと)
1)
apt-get remove e2fsprogs
本当に消してもいいかどうか聞かれるので、ちゃんとスペルを入力して答えること。これで、全て消去し、自動的にglibcが最新のバージョンになります。
2)
で、すぐにe2fsprogsを再インストール
apt-get install e2fsprogs
3)
e2fsprogsはすごく重要なので、update-rc.dとrunleveコマンドを消してしまいます。なので、このコマンドを打っても次のエラーが出ます。(なので結局apt-getを使ってのインストールは出来ません)
dpkg: `update-rc.d' not found on PATH.
PATHに見つからないってことなので、シンボリックリンクを作成してやります。
cp /bin/false /tmp cd /tmp ln -s false update-rc.d export PATH=$PATH:/tmp
4)
次に、update-rc.dをインストールするためにfile-rcパッケージをインストールします。
apt-get install file-rc
まだエラーを返すかもしれません。
Bug#238546: /usr/sbin/invoke-rc.d: /usr/sbin/invoke-rc.d: line 1:
/sbin/runlevel: No such file or directory
上記のコマンドはこれもFIXしてくれます。
5)
upgradeで消されたinit/telinitコマンドをインストールします。
apt-get install sysvinit
6)
おしまい。Debianを再起動してください。/sbinにPATHが通ってないみたいで、/sbin/shutdown -r now
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
ちなみに私は気がはやって、最初のupdateをする前に、
# apt-get remove e2fsprogs
をしてしまったけど、大丈夫だったよ><
やったー。
しかし、参考になったブログが、1週間前のエントリ・・・・。なんつーか、ぎりぎりだったな。