從 Live USB 修復
我需要修復阻止我的系統啟動的網路相關軟體包 (Samba)。(薄荷 17)。
我有一個具有相同作業系統的可啟動 USB 記憶棒。如何通過 USB 作業系統修復硬碟上損壞的軟體包?
下載您需要的軟體包並
dkpg
與以下--instdir
選項一起使用:dpkg --instdir=/path/to/mounted/HDD --install yourpackage.deb
如果不想覆蓋一半安裝的軟體包,您可能想先使用
--purge
(也使用適當的--instdir
!!) 。dpkg
使固定
最簡單的方法是創建一個 chroot,然後在 chroot 內執行修復操作。您可以通過以下方式執行此操作:
- 驗證網路在 chroot 之外工作。發出一個
sudo ifconfig
.- 為需要修復的安裝創建安裝點。發出一個
sudo mkdir -pv /mnt/mymint
- 現在安裝您的安裝。
sudo mount -v -t ext4 /dev/sdX
X 是根分區的字母的問題。您可能需要-t
根據您的文件系統更改選項。- 驗證您的交換分區。
sudo swapon /dev/sdY
Y 是您的交換分區的問題。- 發出以下命令以將 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 章。