私の質問はLinux全般に関するものですが、ubuntuがttyなどでブートしていて、正常に機能していないとしましょう。インターネットに接続していませんが、ubuntuライブCDを持っています。ライブCDからデスクトップ環境を再インストールすることは可能ですか?
私の質問はLinux全般に関するものですが、ubuntuがttyなどでブートしていて、正常に機能していないとしましょう。インターネットに接続していませんが、ubuntuライブCDを持っています。ライブCDからデスクトップ環境を再インストールすることは可能ですか?
回答:
はい、そうです。CDをリポジトリとして使用するか、ライブセッションを起動してパッケージを手動でダウンロードし、通常のOSからインストールするか、chroot
環境をセットアップするかのいずれかを行います。以下の例では、apt-get xfce
実行したいコマンドとして使用していますがdpkg-reconfigure
、他の何でも同様に機能します。
デスクトップを台無しにして、インターネットにアクセスできない状態でコマンドラインを起動しているとします(これは起こり得ないことですが、GUIがなくてもインターネットを利用できます)。OK、CDをドライブに入れて実行できます
sudo apt-cdrom
すべてがうまくいけば、CDが検出され、マウントされてパッケージが解析されます。それが完了したら、実行sudo apt-get update
してソースを更新し、デスクトップを通常どおりインストールします。次に例を示しますapt-get install xfce4-desktop
。
注:私はこれをテストしていませんが、比較的十分に文書化されています。たとえば、こちらをご覧ください。
これには、ライブCD環境で実際にインターネット接続が機能している必要があります。まず、通常の(壊れた)OSを起動してをインストールしapt-offline
ます。システムがすでに壊れている場合は、ここからパッケージをダウンロードして(依存関係も取得してください)、次のようにインストールできます。
sudo dpkg -i apt-offline_1.3.1_all.deb
インストールしたら、実行します
sudo apt-offline set xfce-offline.sig --install-packages xfce4
次に、生成されたばかりのファイル(xfce-offline.sig
)を取得し、ライブセッションを起動して実行します。
sudo apt-offline get xfce-offline.sig --no-checksum --bundle xfce-offline.zip
次に、ローカルシステムを起動してインストールします。
unzip xfce-offline.zip
これにより、.deb
手動でインストールできるファイルのリストが表示されます。
また、チェックする価値があるかもしれないkeryxと呼ばれるものも見つけました:
Keryxは、Linuxを更新するための無料のオープンソースアプリケーションです。Keryxプロジェクトは、ダイヤルアップまたは低帯域幅インターネットを使用するユーザーが、DebianベースのLinuxディストリビューションでパッケージをダウンロードおよび更新できるようにするための方法として始まりました。主にUbuntu用に構築されたKeryxを使用すると、ユーザーはインストールするパッケージを選択し、更新を確認して、これらのパッケージをUSBポータブルストレージデバイスにダウンロードできます。パッケージはデバイスに保存され、元のLinuxボックスに戻されてインストールされます。
最後に、これらすべてをapt-get
ライブセッションから手動で行うこともできます。
sudo apt-get update --print-uris -y | sed "s/'//g" | cut -d ' ' -f 1,2 |
while read url target; do wget $url -O ./$target; done
上記のコマンド.deb
は、インストールに必要なすべてのファイルをダウンロードしますxfce
。それがどのように機能するかの詳細については、ここで私の答えを参照してください。
chroot
環境をセットアップします。の設定chroot
については、ここで詳しく説明しますが、基本的な手順は次のとおりです(がある/dev/sda1
パーティションに置き換えます/
)。
sudo mkdir /mnt/foo
sudo mount /dev/sda1 /mnt/foo
sudo mount --bind /dev /mnt/foo/dev &&
sudo mount --bind /dev/pts /mnt/foo/dev/pts &&
sudo mount --bind /proc /mnt/foo/proc &&
sudo mount --bind /sys /mnt/foo/sys
sudo chroot /mnt/foo
これで、システムがだまされて、インストールされたOSで起動され、apt-get
通常どおりに使用できると考えました。完了したら、chroot
with exit
を終了して再起動します。