![如何删除 gnome-games 软件包而不删除其他软件包?](https://linux22.com/image/21242/%E5%A6%82%E4%BD%95%E5%88%A0%E9%99%A4%20gnome-games%20%E8%BD%AF%E4%BB%B6%E5%8C%85%E8%80%8C%E4%B8%8D%E5%88%A0%E9%99%A4%E5%85%B6%E4%BB%96%E8%BD%AF%E4%BB%B6%E5%8C%85%EF%BC%9F.png)
所以我想删除(更准确地说purge
)一些软件包,例如gnome-games
Debian 6 中的软件包。正如已经预期的那样,并且通过研究知道 Aptitude 也想删除示例中的元软件包gnome
,因为没有该gnome-games
软件包gnome
就没有完全安装。没问题。但现在不同了:Aptitude 还想删除大量其他重要的软件包!我怎样才能避免这种情况呢?我无法理解示例中的内容network-manager
与gnome-games
.取消标记gnome-games
为手动安装并没有什么区别。
但是,这是我的控制台转储:
root@testing:/home/branch# aptitude purge gnome-games
The following packages will be REMOVED:
gnome-games{p}
0 packages upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 2,490 kB will be freed.
The following packages have unmet dependencies:
gnome: Depends: gnome-games (>= 1:2.30) but it is not going to be installed.
The following actions will resolve these dependencies:
Remove the following packages:
1) gnome
Accept this solution? [Y/n/q/?] Y
The following packages will be REMOVED:
aptdaemon{u} binfmt-support{u} cli-common{u} dnsmasq-base{u} epiphany-extensions{u}
evolution-exchange{u} gdebi{u} gdebi-core{u} gedit-plugins{u} gnome{a}
gnome-codec-install{u} gnome-games{p} gnome-office{u} gnome-themes-extras{u}
gnome-themes-more{u} gtk2-engines-smooth{u} libart2.0-cil{u} libgconf2.0-cil{u}
libgee2{u} libgexiv2-0{u} libglade2.0-cil{u} libglib2.0-cil{u} libgmime2.4-cil{u}
libgnome-vfs2.0-cil{u} libgnome2.24-cil{u} libgnomepanel2.24-cil{u} libgpod-common{u}
libgpod4{u} libgtk2.0-cil{u} libmono-addins-gui0.2-cil{u} libmono-addins0.2-cil{u}
libmono-cairo2.0-cil{u} libmono-corlib2.0-cil{u} libmono-i18n-west2.0-cil{u}
libmono-posix2.0-cil{u} libmono-security2.0-cil{u} libmono-sharpzip2.84-cil{u}
libmono-system2.0-cil{u} libmtp8{u} libndesk-dbus-glib1.0-cil{u} libndesk-dbus1.0-cil{u}
libnm-glib-vpn1{u} libpcsclite1{u} liferea{u} liferea-data{u} media-player-info{u}
mobile-broadband-provider-info{u} modemmanager{u} mono-2.0-gac{u} mono-gac{u}
mono-runtime{u} network-manager{u} network-manager-gnome{u} ppp{u} python-aptdaemon{u}
python-aptdaemon-gtk{u} python-mako{u} python-markupsafe{u} python-vte{u}
python-webkit{u} rhythmbox{u} rhythmbox-plugin-cdrecorder{u} rhythmbox-plugins{u}
shotwell{u} simple-scan{u} software-center{u} tcl{u} tcl8.4{u} tomboy{u} totem-mozilla{u}
transmission-common{u} transmission-gtk{u} update-manager-core{u} update-manager-gnome{u}
update-notifier{u} update-notifier-common{u} usb-modeswitch{u} usb-modeswitch-data{u}
wpasupplicant{u}
0 packages upgraded, 0 newly installed, 79 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 143 MB will be freed.
Do you want to continue? [Y/n/?] n
Abort.
编辑:Aptitude 希望删除所有软件包,因为它假定在删除gnome
元软件包后它们未被使用。但事实绝对不是这样。如何告诉 aptitude 它只是保留这些包?它没有给出任何其他选择。
答案1
对于 Debian 和衍生产品,登录 Gnome 后点击CtrlAltF1并进入控制台窗口。
然后以 root 或您自己的身份登录sudo su
(不同的发行版对于 root、sudo 和 su 会变得愚蠢)。
输入apt-get remove gnome-games
不带引号的内容并按Enter- 它会说它正在摆脱 gnome 和 gnome-games - 选择Yes
或OK
- 它将把它们全部标记为删除。
然后输入apt-get install gnome-core
并选择Yes
安装,它将标记 gnome-core 保留并显示所有不再使用且可以自动删除的游戏应用程序。
然后输入apt-get autoremove
,你应该会看到所有即将被爆出的游戏数据,并且你已经准备好了 - 没有胡言乱语,没有删除整个侏儒等。
apt-get clean
或者apt-get autoclean
可以从缓存的安装文件中获取一些磁盘空间。
答案2
看来所有这些都作为gnome
元包的依赖项自动安装。正如你所说,如果没有 gnome-games 包,gnome 元包是不完整的,因此必须将其删除。这会导致列出的所有软件包均未使用,因此aptitude
希望将其删除。可能有一种方法可以删除 gnome,而不删除其未使用的依赖项,但快速搜索没有显示,我怀疑每次删除其他东西时它都会尝试卸载它们。您最好的选择可能是找出您明确想要哪些软件包并将其标记为手动安装,然后让它卸载其余的(如果仍然不需要)。
答案3
我遇到了同样的问题,因此创建了一个我卸载的游戏列表并创建了一个自述文件在此存储库中,延迪罗/删除 gnome 游戏。
只需复制并粘贴:
sudo apt purge iagno lightsoff four-in-a-row gnome-robots pegsolitaire gnome-2048 hitori gnome-klotski gnome-mines gnome-mahjongg gnome-sudoku quadrapassel swell-foop gnome-tetravex gnome-taquin aisleriot && sudo apt autoremove
也许这有帮助。
答案4
默认情况下, aptitude 会查找并卸载依赖项,这通常正是您想要做的。综合性的 gnome-games 包显然有各种包含这些不同依赖项的游戏。
但是,dpkg -r 命令不会查找依赖项;而是查找依赖项。它只是准确地删除你告诉它的内容。在许多情况下,这将是一件坏事(因为它可能会使您的系统不稳定),但在这种情况下,不太可能出现不稳定,这可能是最好的解决方案。