为什么几乎所有软件包都标记为手动安装?


11

我刚刚安装了Maverick,但惊讶的是几乎所有软件包都被标记为手动安装(没有安装linux-headers和wireless-crda)。这是否破坏了自动和手动安装软件包之间区别的目的?

Answers:


9

似乎我的Google功能被削弱了:这是一个已知的错误(专注于Colin Watson的评论),并且徘徊了一段时间,看不到任何修复方法:

引用科林·沃森
Colin Watson):将所有软件包保留为手动安装是难看的,但是此错误的后果通常仅限于不能足够聪明地删除不再需要的软件包。反向的缺陷会更加严重,因为它可能导致在仍需要包装时将其卸下。鉴于似乎尚无明显正确的修复程序,因此最好谨慎行事。[...]

空气?嗯,当然。
TRiG 2010年

1
是的,但是如果我纠正了,就不会再引用了。:P
htorque 2010年

我想知道的是:由于此“手动安装”部分显然无关紧要(不可用),所以为什么不隐藏它呢?如果您无能为力,则无需显示它...在我看来,情况就是如此。然后,如果有一天他们得到了修复,则可以再次显示它。自从Jaunty或Karmic以来,如果我还记得的话,这已经在Ubuntu中了
Little Jawa 2010年

1
尽管当他在下一条评论中修复该问题时,我认为您可以调整报价。:)

@Little:它对于以后安装的软件包很有用,只是最初安装时未包含任何内容。

1

好的,现在这是安装后我要做的第一件事。我将(几乎)每个软件包都标记为自动安装,它们仍然是以下项的依赖项ubuntu-desktop

apt-mark showmanual | xargs sudo apt-mark auto
sudo apt-mark unmarkauto ubuntu-desktop 

理想情况下,这就足够了。但是根据Colin Watson的说法,这个世界还不是那么完美,我们还需要进一步完善。重复:

apt-get autoremove --simulate
# ...
# output of what's to be autoremoved
sudo apt-mark unmarkauto <package>

其中,<package>至少对我来说,因为每个的结束ubuntu-standardubuntu-minimalubuntu-restricted-addons。还有一些语言包。

还值得注意的是aptitude,它的TUI可以辅助该过程。

完成此操作后,我系统的软件包管理器报告看起来更加令人愉快和易于理解:

$ apt-mark showmanual
aptitude
dkms
git
subversion
ubuntu-desktop
ubuntu-minimal
ubuntu-restricted-addons
ubuntu-standard
vim
zsh

瞧!


不要在最新的Willy上尝试此答案。您会被搞砸
Stefano Mtangoo '16

@StefanoMtangoo我已经很聪明地做到了这一点。现在,我有97个标记为“手动”的软件包和2455个标记为“自动”的软件包。这些97可以非常准确地代表apt-get install我所做的所有操作。我会说很干净的依赖管理。
ulidtko '16

我做到了,我所得到的几乎是所有软件包都被设置为autoremove,并且不得不费劲地删除和重新安装...不是很好的经验
Stefano Mtangoo

@Stefano,你有没有注意到我描述了一个循环autoremove --simulate,然后unmarkauto钦点伞包?那是关键。您实际上不应删除并重新安装软件包。您对系统所做的所有更改都包括软件包标记为手动或自动安装-作为其他手动安装软件包的依赖项(通常是间接的)。
ulidtko '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.