前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Debian 重装所有包 | 树莓派

Debian 重装所有包 | 树莓派

作者头像
uniartisan
发布2022-03-03 09:42:29
3870
发布2022-03-03 09:42:29
举报
文章被收录于专栏:uu的自留地

dpkg: warning: files list file for package *****

上次按网上的教程修复树莓派一个软件包依赖后,限制安装软件总是会出现这个提示,假设被没有被安装。 查阅Google、CDSN后得到可以通过完整安装所有软件包解决问题。 不过首先最好临时禁用 IPv6,否则有可能找不到某个包的 ipv6 地址。

代码语言:javascript
复制
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1

重启后会自动恢复配置。

新建repair.sh:

代码语言:javascript
复制
#!/bin/bash
set -e
 
# Clean out /var/cache/apt/archives
apt-get clean
# Fill it with all the .debs we need
apt-get --reinstall -dy install $(dpkg --get-selections | grep '[[:space:]]install' | cut -f1)
 
DIR=$(mktemp -d -t info-XXXXXX)
for deb in /var/cache/apt/archives/*.deb
do
    # Move to working directory
    cd "$DIR"
    # Create DEBIAN directory
    mkdir -p DEBIAN
    # Extract control files
    dpkg-deb -e "$deb"
    # Extract file list, fixing up the leading ./ and turning / into /.
    dpkg-deb -c "$deb" | awk '{print $NF}' | cut -c2- | sed -e 's/^\/$/\/./' > DEBIAN/list
    # Figure out binary package name
    DEB=$(basename "$deb" | cut -d_ -f1)
    # Copy each control file into place
    cd DEBIAN
    for file in *
    do
        cp -a "$file" /var/lib/dpkg/info/"$DEB"."$file"
    done
    # Clean up
    cd ..
    rm -rf DEBIAN
done
rmdir "$DIR"

增加权限并运行:

代码语言:javascript
复制
sudo chmod u+x repair.sh
sudo ./repair.sh
修复界面
修复界面

修复的过程中没有提示,请耐心等待!

>版权声明:部分转载于CSDN博主「oadaaa」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 >原文链接:https://blog.csdn.net/p942005405/article/details/86567416

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档