ctr*_*lor 9 debian apt backports
我有 Debian Jessie 并添加了向后移植(根据这些说明):
echo "deb http://http.debian.net/debian jessie-backports main contrib non-free" | sudo tee /etc/apt/sources.list.d/backports.list
Run Code Online (Sandbox Code Playgroud)
(我这样做是为了获得更新的内核,因为我需要它,用于笔记本电脑中的某些硬件。)
说明说什么都不应该发生,除非我明确要求反向移植包。例如apt-get -t jessie-backports install "package"
。
但是,我现在似乎从 backports 加载了我的整个系统,并且卸载了一个软件包,因为它取决于更新到 back-ports 的某些内容的确切版本。
所以我的问题:
注意:这会获取来自 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
Run Code Online (Sandbox Code Playgroud)
警告:
一些包是自动安装的,所以如果你重新安装它们,那么这些自动安装的包将被标记为手动安装。因此在不需要时不会删除。
任何人对如何解决这个问题有任何想法吗?
cas*_*cas 10
尝试将以下内容添加到/etc/apt/apt.conf
或 下的文件中/etc/apt/apt.conf.d
:
APT::Default-Release "jessie";
要删除现有的向后移植,您需要获取安装了哪些向后移植以及它们替换了什么版本的列表。幸运的是,这些信息可以很容易地从/var/log/dpkg.log
eggrep ' upgrade ' /var/log/dpkg.log
会给你很多像下面这样的行:
2016-02-15 11:06:32 upgrade python-numpy:amd64 1:1.11.0~b2-1 1:1.11.0~b3-1
Run Code Online (Sandbox Code Playgroud)
这表示在 2 月 15 日上午 11:06,我将 python-numpy 从版本 1:1.11.0~b2-1 升级到版本 1:1.11.0~b3-1
如果我想降级到以前的版本,那么我会运行:
apt-get install python-numpy=1:1.11.0~b2-1
Run Code Online (Sandbox Code Playgroud)
注意:在这种特殊情况下,它可能无法工作,因为我运行 debian sid
akaunstable
所以旧版本可能不再在 deb 存储库中可用。如果您正在运行jessie
并重新安装软件包的 jessie 版本作为降级到 jessie-backports 版本,它将按预期工作。
同样,如果一个包已被删除,您可以通过搜索remove
in找到它及其确切版本/var/log/dpkg.log
。
使用awk
和等标准工具可以在很大程度上自动化许多软件包的批量降级grep
。例如,如果您知道您安装的 jessie-backports 升级都是在特定日期(例如 2016-02-15)完成的,那么您可以使用以下内容降级到以前的版本:
apt-get -d -u install $(awk '/2016-02-15 ..:..:.. upgrade / {print $4 "=" $5}'
/var/log/dpkg.log)
Run Code Online (Sandbox Code Playgroud)
(添加换行和缩进以避免水平滚动条)
注意-d
( --download-only
) 选项的使用。在您确认apt-get install
将执行您想要的操作并且仅执行您想要的操作后,重新运行该命令并删除该选项。
我还建议先单独运行awk
该命令的一部分,以便您可以查看将重新安装的确切软件包和版本的列表。
归档时间: |
|
查看次数: |
7884 次 |
最近记录: |