Hệ thống khởi động từ Chế độ khôi phục với dấu nhắc gốc .
Nhắc lại rootfs để chế độ đọc-ghi với mount -o rw,remount /
.
Nâng giao diện ethernet và nhận địa chỉ IP từ máy chủ DHCP: dhclient enp0s3
(kiểm tra tên giao diện chính xác trong ip a
hoặc ifconfig -a
).
Chỉ định máy chủ DNS theo
rm /etc/resolv.conf
echo "nameserver 192.168.1.1" > /etc/resolv.conf
(thay đổi 192.168.1.1
cổng / bộ định tuyến của bạn)
Bạn cần sửa dpkg
gói vì nó bỏ lỡ /usr/share/dpkg/cputable
tệp (nếu không bạn sẽ phải đối mặt với "E: error reading the cpu table"
bất kỳ lệnh apt / apt-get nào)
wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.19.0.5ubuntu2.1_amd64.deb
dpkg -i dpkg_1.19.0.5ubuntu2.1_amd64.deb
hoặc cài đặt nó từ bộ đệm:
dpkg -i /var/cache/apt/archives/dpkg_*.deb
cập nhật bộ đệm gói:
apt-get update
cài đặt lại các thành phần thiết yếu
apt-get install --reinstall debconf linux-base
mkdir /usr/share/python
apt-get install --reinstall python2.7-minimal python3-minimal
và sau đó sử dụng một lớp lót bên dưới:
apt-get install --reinstall $(dpkg -S /usr/share/ | sed 's/,//g' | sed 's/: \/usr\/share//g')
Ở trên:
dpkg -S /usr/share/
hiển thị danh sách các gói được phân tách bằng dấu phẩy
sed 's/,//g'
- xóa dấu phẩy
sed 's/: \/usr\/share//g'
- loại bỏ : /usr/share
cuối cùng
Phần này có thể thất bại với các tin nhắn về một số gói. Ví dụ trên VM của tôi, tôi gặp vấn đề bsdmainutils
, vì vậy tôi đã cài đặt lại chúng với:
dpkg -i /var/cache/apt/archives/bsdmainutils_*.deb
và sau đó chạy lại một lớp lót ở trên.
sửa chữa các gói bị hỏng
dpkg --configure -a
apt-get install -f
cuối cùng sửa chữa /etc/resolv.conf
liên kết bởi
rm /etc/resolv.conf
ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
khởi động lại.
/usr/share
thư mục .. hãy dùng thử .. đăng nhập với phiên trực tiếp .. sao chép và dán/usr/share
thư mục từ phiên trực tiếp vào phân vùng gốc của bạn/usr/share