Linux

從 Live USB 修復

  • December 10, 2014

我需要修復阻止我的系統啟動的網路相關軟體包 (Samba)。(薄荷 17)。

我有一個具有相同作業系統的可啟動 USB 記憶棒。如何通過 USB 作業系統修復硬碟上損壞的軟體包?

下載您需要的軟體包並dkpg與以下--instdir選項一起使用:

dpkg --instdir=/path/to/mounted/HDD --install yourpackage.deb

如果不想覆蓋一半安裝的軟體包,您可能想先使用--purge(也使用適當的--instdir!!) 。dpkg

使固定

最簡單的方法是創建一個 chroot,然後在 chroot 內執行修復操作。您可以通過以下方式執行此操作:

  1. 驗證網路在 chroot 之外工作。發出一個sudo ifconfig.
  2. 為需要修復的安裝創建安裝點。發出一個sudo mkdir -pv /mnt/mymint
  3. 現在安裝您的安裝。sudo mount -v -t ext4 /dev/sdXX 是根分區的字母的問題。您可能需要-t根據您的文件系統更改選項。
  4. 驗證您的交換分區。sudo swapon /dev/sdYY 是您的交換分區的問題。
  5. 發出以下命令以將 LiveDisk 與您的安裝同步:

mount -t proc proc /mnt/mymint/proc

mount --rbind /sys /mnt/mymint/sys

mount --rbind /dev /mnt/mymint/dev 6. 輸入您的更改根目錄。問題:

chroot /mnt/mymint /bin/bash

source /etc/profile

export PS1="(chroot) $PS1" 7. 現在我們不必像 Anthon’s Answer 中那樣對任何 Targets 使用任何額外的選項。我們可以使用 apt-get(對所有 Broken 包執行此操作):

sudo apt-get remove --purge brokenpackagename && sudo apt-get-install packagename 8. 重啟。問題:

exit

umount -l /mnt/mymint/dev{/shm,/pts,}

umount /mnt/mymint{/boot,/sys,/proc,}

reboot


推理

我個人認為使用 changeroot 是最安全的方法,因為這樣 LiveCD/USB 中的任何內容都不會干擾您的系統。我承認這種方法可能會嚇跑一些新使用者,但我可以向您保證,這種方法是有效的,因為它是 Gentoo 發行版用於新安裝的方法。如果有興趣,請參閱Gentoo 安裝手冊的第 6 章

引用自:https://unix.stackexchange.com/questions/172581