如何删除brew和apt-get

时间:2017-07-12 14:55:28

标签: linux ubuntu unix homebrew mint

作为Linux中的菜鸟,我开始在Mint上使用brew和apt-get左右安装软件包。

现在我正在运行os空间,我开始浏览这些包并注意到许多重复项(gcc,ag,....等)

如何在不损害依赖于这些应用程序并保留最新版本的应用程序的情况下,以有效的方式删除重复项?

2 个答案:

答案 0 :(得分:1)

1)您输出从brew安装的所有软件包。

brew list >> brewList.txt

2)输出从apt-get安装的所有软件包。

dpkg-query -l >> dpkgList.txt

3)从dpkgList.txt和brewList.txt输出所有相交的包名称

grep -Fx -f brew.txt dpkg.txt >> intersectedList.txt

4)现在,从apt-get或brew中删除所有相交的包。注意:我要从apt-get这里删除软件包。

sudo apt-get remove `cat intersectedList.txt`

/* if the package name has the same prefix, then you can use 

sudo apt-get remove `cat intersectedList.txt`* 

*/

因此,整个bash脚本也检查每个命令正确运行如下:

brew list >> brewList.txt
if [ $? -eq 0 ]; then
    dpkg-query -l >> dpkgList.txt
       if [ $? -eq 0 ]; then
          grep -Fx -f brew.txt dpkg.txt >> intersectedList.txt
            if [ $? -eq 0 ]; then
              sudo apt-get remove `cat intersectedList.txt` /* you can place * after ` symbol, if you want to remove node (or nodejs) */
                if [ $? -eq 0 ]; then
                   echo OK
               else
                   echo "Task not completed!"
               fi
            else
              echo "grep -Fx -f brew.txt dpkg.txt error!"
            fi
       else
         echo "dpkg-query error!"
       fi
else
    echo "brew list!"
fi

答案 1 :(得分:0)

没有自动方法可以执行此操作,但您可以通过自制软件列出已安装的软件包:

brew list

然后通过Mint列出已安装的软件包:

dpkg-query -l

某些软件包的名称差别很小,但您会认出它们。然后,您可以使用以下命令从自制程序中删除软件包:

brew remove <package>

并从Mint中删除包:

sudo apt-get remove <package>
请注意,从自制软件安装的软件包通常比从Mint安装的软件包更新。