doyle 发表于 2012-8-8 01:12:37

恢复/etc/apt/source.list文件

起因:
买了u大推荐的mini usb wifi网卡
使用其中的脚本尝试安装,失败,使用回复的帖子中的方法,安装成功
之后,在做apt-get update是出现大量squeeze字样,可是我安装的是wheezy啊
且之前成功安装的软件如mplayer,也在apt-cache search中变成找不到了(apt-cache search是搜索命令,可以查找某个软件是否直接可以用qpt-get install来安装)
于是怀疑那个安装脚本动到apt的源列表文件了

想法:
想到的方法是,直接挂载当初下载的2012-07-15-wheezy-raspbian.img文件(linux系统强大啊,直接把镜像挂载上去,什么虚拟光驱的都不需要啊)
然后对比其中的source.list文件和现在的有没有区别

操作难点:
不过,因为这个img文件是带有boot引导区的,而且在之前还有一部分fat格式的区域,这两个区域不仅是不需要的,且回对挂载操作造成影响,直接导致挂载不成功,于是参考:http://ashadow.blogbus.com/logs/42231584.html
就是使用fdisk -l命令,查看img文件中包含几个分区,以及要挂载的分区开始的位置
然后用sudo mount -o loop,offset=‘其实位置’ ‘img文件’ ‘挂载位置’
这样的命令就可以把img文件中的/分区信息挂载上来

结果:
我将img文件挂载到了/mnt/img目录下,于是找到了/mnt/img/etc/apt/source.list文件,其中的信息内容是:
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
而我当前系统中的source.list内容是:
deb http://ftp.uk.debian.org/debian/ squeezemain contrib non-free
显然,我系统的source.list是被修改了
那么,解决方法也很简单,直接 sudo mv /mnt/img/etc/apt/source.list /etc/apt/source.list 即可
然后apt-get update 就发现恢复正常了。

事后:
检查了那段安装脚本,赫然出现了:

echo 'deb http://ftp.uk.debian.org/debian/ squeezemain contrib non-free' >> /etc/apt/sources.list
就是这行改写了apt的源

教训总结:
网上的shell脚本还是先自己检查一边比较好啊。

树老大 发表于 2012-8-8 09:34:37

强烈支持楼主的技术贴。。。
页: [1]
查看完整版本: 恢复/etc/apt/source.list文件