openSUSE 上 orphaned packages 的清理

Arch + Ubuntu 用户,工作站准备从 Ubuntu LTS 迁移到 openSUSE 13.2 对 zypper 有一点点小不适应,稍微摸索了一下,基本上清理 orphaned / unneeded 包用

  1. rpmorphan

    rpmorphan | xargs zypper rm -u -n

  2. zypper pa --orphaned

    zypper pa --orpahend | awk ‘{ print $5 }’ | xargs zypper rm -u -n

  3. 甚至 zypper pa --unneeded

    zypper pa --unneeded | awk ‘{ print $5 }’ | xargs zypper rm -u -n

以上在虚拟机里都试过了,弄玩之后系统没挂 ;-D

想问一下诸位,最接近于以下几个命令的 zypper 或清理命令是什么…

谢谢…

Arch Linux

pacman -Qqdt | xargs pacman -Rsc --noconfirm

Debian / Ubuntu

apt-get autoremove

N 次

deborphan | xargs apt-get purge -y

清理配置文件

aptitude purge '~c'

Fedora / RHEL / CentOS
N 次

package-cleanup --leaves | xargs yum -y erase

YaST 里面设置“删除软件包时清理”,在每一次删除软件包的时候就会自动清理孤立软件包了。

我是觉得意义不大。

1赞

一直以来的习惯是用 CLI 都是直接 pacman / apt-{get,cache,file} etc… 搞定的,没有使用 GUI - YaST 的习惯…

好吧,用 openSUSE 就得用 YaST 是吧?

CLI 中输入
sudo /sbin/yast

控制台中也行

zypper rm -u 可以在每次删除软件的时候清理不用的包。专门清理的命令好像没有。

openSUSE 配置文件在软件删除后会保存为 什么后缀我忘了。。。大概是 rpmrm 之类的。。。然后系统升级以后新的配置文件会保存为后缀为 rpmnew 的文件。我一般就使用 etc-update 来管理,可以合并配置文件、取代配置文件并删除旧的等等。删除掉软件的配置文件直接删除就好了(有统一后缀很好找的)。

1赞

/usr/sbin/yast ;-D

这个就是 text UI 嘛 ;-D

一般也就是 zypper rm -u package 就够了,有时候装包多了会有些莫名的 orphan package 要清理掉。

.rpmnew 和 .pacnew 是差不多的做法(deb 也有类似机制),明白了。

etc-update 不错,多谢。我的问题基本上都解决了 ;-D

rpmconfig.old

?

1赞

刚拿 phpMyAdmin 实验了一下,发现是 rpmsave 后缀的:-)

1赞