我有Debian Jessie并添加了backport(根据这些说明):
echo "deb http://http.debian.net/debian jessie-backports main contrib non-free" | sudo tee /etc/apt/sources.list.d/backports.list
(我这样做是为了获得需要的更新内核,用于笔记本电脑中的某些硬件。)
这些说明说什么也不会发生,除非我明确要求反向移植软件包。例如apt-get -t jessie-backports install "package"
。
但是,我现在似乎已经从backports加载了整个系统,并且已经卸载了一个软件包,因为它依赖于确切版本的更新到backports的某个软件包。
所以我的问题是:
- 我如何首先停止它,以便不再安装任何反向端口?
- 如何删除现有的反向端口?
注意:这会获取来自反向端口的已安装软件包的列表(以及可以传递给的格式apt-get install
,由于某种原因,sudo apt-get install
在管道末尾代替echo无效):
cat /var/log/dpkg.log.1 |grep -v linux | grep -v xserver | grep -v firmware | grep "status installed" | grep bpo | cut -d" " -f 5 | cut -d: -f 1 | xargs -i{} -n1 bash -c "dpkg-query -s {} >/dev/null && echo {}" | sed -r -e "s~.*~\0/jessie~" | xargs echo
警告:
其中一些软件包会自动安装,因此,如果重新安装所有软件包,则这些自动安装的软件包将标记为手动安装。因此在不需要时不删除。
有人对如何解决这个问题有任何想法吗?
apt-get
或dpkg
。只要您不惊慌,就不必担心。包装系统的大多数问题是由于人们的恐慌和反应而造成的,而他们却没有思考....慢慢地思考,然后再采取行动。