/etc/lsb-release
を使用できます そのために:
~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=13.04
DISTRIB_CODENAME=raring
別の Linux または LiveCD からそのシステムへの chroot を試すことができます。死んだディストリビューションが sda2
にあると仮定しましょう .まず、パーティションをマウントします:
$ mount /dev/sda2 /mnt
フォルダを重要なバイナリにバインドして、死んだ可能性のあるものを置き換えます。 mount -B
1 つのディレクトリを別のディレクトリの上にマウントし、その内容を仮想的に置き換えますが、物理的に触れることはありません:
$ mount -B /bin /mnt/bin
$ mount -B /sbin /mnt/sbin
$ mount -B /usr/bin /mnt/usr/bin
chroot
になりました 古いディストリビューションに。 chroot
指定されたディレクトリが /
であるふりをします (この場合、オフライン ディストリビューションでシェルを実行し、以前にバインドしたバイナリ以外のファイルで作業します)
$ chroot /mnt
これで、発行するコマンドは、そのパーティションがファイルシステムのルートであるかのように機能します。 lsb_release -a
バイナリから実行されますが、デッド ディストリビューションのファイルから読み取られます。
chroot
を使用できます 他の多くのことのために。たとえば、Ubuntu を起動せずにアップグレードできます。LiveCD を起動し、Ubuntu のパーティションをマウントし、/proc
のような重要なディレクトリをバインドするだけです。 など (バイナリではありません - LiveCD バイナリが更新されます) を実行し、 do-release-upgrade
を実行します chroot されたシェルで。