美文网首页
Linux软件依赖关系

Linux软件依赖关系

作者: wjv | 来源:发表于2019-03-08 22:38 被阅读0次

    来源:https://www.linuxidc.com/Linux/2010-08/27972.htm

    Linux中的软件大部分是零碎的,其粒度比windows的小很多,软件之间的依赖关系很强烈,下面是自己的一些理解:

    一、Linux中的软件依赖

    Linux中的软件依赖关系成一颗拓扑树结构,比如A直接或间接依赖B,那么B就不可能直接或间接依赖A。试想从时间上A、B必然有一个先出现,而先出现的不可能依赖于后出现的;并且如果A与B互相依赖则就是“鸡与蛋”的问题,因此必然有一个先出现而另一个依赖于先者。

    二、Linux的软件安装与卸载

    (1)安装软件A必须率先安装A依赖的所有软件;卸载软件A则必须率先卸载依赖A的所有软件。如下图:

    a\

    b\

    c\

    b,c依赖于a,那么安装b或c都先要确保a的存在;同时卸载a必须确保b和c都已经被卸载。

    (2)卸载A不代表同时卸载A所依赖的所有无用软件,比如:B<--A,卸载A以后B就没用了(因为没有其他软件再依赖B了),Linux默认不卸载B,但可以使用特殊的参数让系统这么做。

    Ubuntu下,apt-get remove就是一般的卸载,而apt-get autoremove则是同时卸载其所依赖的无用软件

    --------------------------------

    autoremove的伪代码:

    autoremove_soft(entity x) {

    remove x;

    for each p in x->parent {

    p->child_num--;

    if(p->child_num == 0)

    autoremove_soft(p);

    }

    }

    ----------------------------------

    sudo apt-get autoclean 清理旧版本的软件缓存

    sudo apt-get clean 清理所有软件缓存

    sudo apt-get remove softname1 softname2 ...

    sudo apt-get --purge remove softname1 softname2 ...(同时清除配置)

    sudo apt-get autoremove 删除系统不再使用的孤立软件

    相关文章

      网友评论

          本文标题:Linux软件依赖关系

          本文链接:https://www.haomeiwen.com/subject/pnfjpqtx.html