LoginSignup
1
0

More than 5 years have passed since last update.

Bash on Debian on Windows(中途)

Last updated at Posted at 2016-08-12

普段使いのPCがDebianなので、WindowsのUbuntuをDebianにする。
aptの依存関係解決能力を信じて、強引にディストリビューションを変更する。
※ Emacsが立ち上がらないので、何か不都合があるっぽい。ubuntu由来のパッケージを全部置き換えただけではダメなのかもわからんね…。

sources.listをDebian jessie に変更。

#deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb http://security.ubuntu.com/ubuntu trusty-security main restricted universe multiverse

deb http://ftp.jp.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
deb http://ftp.jp.debian.org/debian/ jessie-updates main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ jessie-updates main contrib non-free

定石通りにまずupdate -> upgrade。

apt-get update
apt-get install debian-archive-keyring
apt-get update
apt-get upgrade

fuseはカーネル関連の設定をしようとしてエラーになるのでファイルを削除。

rm /var/lib/dpkg/info/fuse.postinst
dpkg --configure fuse

昔のDebianのようにaptを先に更新。

dpkg-reconfigure locales

aptitude install apt # n -> y

gccとlibgcc1をダウングレード。

aptitudeとperlを更新。
perlは依存関係が大量なので念のため先に入れる。

apt-get install aptitude
apt-get install perl
apt-get dist-upgrade
apt-get install
apt-get dist-upgrade
apt-get install
...
apt-get remove --purge plymouth
apt-get dist-upgrade
apt-get remove --purge init
apt-get dist-upgrade
apt-get remove --purge exim4-base
apt-get dist-upgrade

apt-get autorimove --purge

設定ファイルは古いものを残す。
エラーが出るけど強引に進める。initパッケージを消しちゃってるけども、docしかないし利用されないので今のところ特に問題はない。

/mnt/c が見えなくなってるのはbashを立ち上げ直すと見えるようになる。
おそらくfuseのntfsがアップグレード時に一度停止したため?

あとはダウングレードするようにPinのPriorityを1001以上に設定。

# /etc/apt/preferences.d/debian

Package: *
Pin: release a=stable
Pin-Priority: 1010

ダウングレード実行。

apt-get update
apt-get dist-upgrade

apt-get remove --purge `dpkg -l|grep ubuntu |awk '{print $2}'`

rm /var/lib/dpkg/info/pollinate.*rm
apt-get remove --purge pollinate

rm /etc/apt/preferences.d/debian

これで完了。

rpm系は詳しくないからやらないけど、がんばればCentOSとかにも置き換え可能な気がする。

補足:
壊れてどうしようもなくなったら管理者モードのcmd.exeで再インストール。

lxrun /uninstall /full
lxrun /install

参考:
http://qiita.com/Aruneko/items/c79810b0b015bebf30bb
http://engetu21.hatenablog.com/entry/2014/12/06/004525

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0