Debian更新后出现libcrypt.so.1缺失错误求助
解决Debian升级后sudo/su失效、libcrypt.so.1缺失及无网络问题
1. 先修复libcrypt.so.1缺失(阻碍apt运行的核心问题)
- 把根分区切换为可读写模式:
mount -o remount,rw / - 查找本地缓存中的libcrypt1包:
find /var/cache/apt/archives -name "libcrypt1*.deb" - 如果找到对应包,直接安装:
dpkg -i /var/cache/apt/archives/libcrypt1_*.deb - 如果本地无缓存,找一台同架构(x86_64)的Debian机器下载对应包存入U盘,插入后挂载U盘:
(sdX1需替换为实际U盘分区,可通过mkdir /mnt/usb && mount /dev/sdX1 /mnt/usblsblk查看)
再安装U盘内的包:dpkg -i /mnt/usb/libcrypt1_*.deb
2. 手动配置静态IP解决网络问题
- 查看网卡名称:
(常见名称为eth0、enp0s3等)ip link show - 设置静态IP(替换为你网段内的可用地址):
ip addr add 192.168.1.100/24 dev eth0 - 设置网关(替换为你的路由器IP):
ip route add default via 192.168.1.1 - 设置DNS:
echo "nameserver 8.8.8.8" > /etc/resolv.conf
3. 修复损坏的包依赖
现在python3可正常运行,执行修复命令:
apt --fix-broken install
若仍出现apt-listchanges报错,先临时禁用该功能:
echo 'APT::Get::Show-Upgraded "0";' > /etc/apt/apt.conf.d/99disable-listchanges
再重新执行apt --fix-broken install
4. 恢复sudo/su认证权限
- 用
visudo打开sudo配置文件,确保存在以下配置:%sudo ALL=(ALL:ALL) ALL - 检查用户是否在sudo组:
(your_username替换为你的实际用户名)groups your_username - 若不在组内,添加用户到sudo组:
usermod -aG sudo your_username
内容的提问来源于stack exchange,提问作者Giuseppe88
相关产品推荐
相关产品推荐

