Linux 安装卸载软件及管理软件仓库

    xiaoxiao2021-04-17  38


    软件仓库


    Linux的软件包都存放在一个地方,叫做软件仓库,repository。 因为Linux是在Windows之后诞生的(1991年前后),所以为了避免Windows的这个“弊端”,Linux选择创建一个集中存放软件的地方。 当然了,Linux的这一优势也得益于它的开源性。Linux中的软件基本都是开源自由的,任何人都可以分发,传播软件,只要遵守一定软件协议。因此把这些软件集中存放在某个地方是可行的。


    Linux的软件会集中存放在一个地方,叫做软件仓库,英语是repository。 软件仓库绝不只是存放在一台服务器上,全球有很多个软件仓库(也就是有很多服务器),大部分软件仓库里的软件都是一样的,只不过是拷贝而已。

    一般建议用户选择离自己所在地较近的软件仓库的服务器,这样下载速度会比较快。


    .deb的安装包只能用于Debian一族的操作系统,包括Ubuntu。而Redhat一族(包括Fedora)用的则是后缀为.rpm(rpm是Redhat Package Manager的缩写)的安装包。

    有个软件可以帮忙将rpm安装包转换为deb安装包。这个软件是alien

    # alien默认没有安装,所以首先要安装它。 sudo apt-get install alien # 将rpm转换为deb,完成后会生成一个同名的xxxx.deb。 sudo alien xxxx.rpm # 安装deb安装包。注意,用alien转换的deb包并不能保证100%顺利安装,所以可以找到deb最好直接用deb。 sudo dpkg -i xxxx.deb

    管理软件仓库


    编辑的那个包含软件仓库的列表的文件是:

    /etc/apt/sources.list

    这个文件是系统文件,只能被root用户修改。 用nano来编辑此文件

    nano /etc/apt/sources.list

    通常来说,这个文件中有作用的行是由以下两个指令开头:

    deb:用于下载软件的二进制版本,大多数情况下我们都是用这个。 deb-src:用于下载软件的源代码。一般我们用不到,除非你很好奇想查看软件的源代码。这也是自由软件运动的一个好处。

    查询软件仓库服务器地址


    用搜索引擎来寻找其他软件仓库的服务器地址,比如可以搜“Ubuntu repository”。

    图形界面工具

    菜单栏中的System->Administration->Software Sources


    包管理工具


    package:包。这是软件的二进制安装包。类似Windows中软件的安装程序(大多以.exe结尾)。 dependency:依赖。一个软件包可能需要其他的软件包作为运行的基础。这是依赖关系。 repository:仓库。软件的仓库,就是存放软件的服务器,我们从这些服务器上下载软件。

    在Ubuntu中,可以使用图形界面的软件包管理,例如 Synaptic Package Manager(新立得软件包管理器),要打开很简单: 菜单栏中的System->Administration->Synaptic Package Manager

    使用终端来管理软件包,终端的软件包管理命令一般用两个:

    apt-get:最常用的,一般小编用这个比较多。 aptitude:这个命令在卸载软件时可以卸载不用的依赖。
    #软件包缓存的更新 sudo apt-get update #搜索软件包 sudo apt-cache search #安装软件包 sudo apt-get install xxx xxx是对应软件包名 #删除软件包 sudo apt-get autoremove xxx #xxx是对应软件包名 #升级所有已安装的软件包 sudo apt-get upgrade

    apt-get 是用于处理 apt包的公用程序集,我们可以用它来在线安装、卸载和升级软件包等,下面列出一些apt-get包含的常用的一些工具:

    工具 说明 install 其后加上软件包名,用于安装一个软件包 update 从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表 upgrade 升级本地可更新的全部软件包,但存在依赖问题时将不会升级,通常会在更新之前执行一次update dist-upgrade 解决依赖关系并升级(存在一定危险性) remove 移除已安装的软件包,包括与被移除软件包有依赖关系的软件包,但不包含软件包的配置文件 autoremove 移除之前被其他软件包依赖,但现在不再被使用的软件包 purge 与remove相同,但会完全移除软件包,包含其配置文件 clean 移除下载到本地的已经安装的软件包,默认保存在/var/cache/apt/archives/ autoclean 移除已安装的软件的旧版本软件包

    下面是一些apt-get常用的参数:

    参数 说明 -y 自动回应是否安装软件包的选项,在一些自动化安装脚本中使用这个参数将十分有用 -s 模拟安装 -q 静默安装方式,指定多个q或者-q=#,#表示数字,用于设定静默级别,这在你不想要在安装软件包时屏幕输出过多时很有用 -f 修复损坏的依赖关系 -d 只下载不安装 --reinstall 重新安装已经安装但可能存在问题的软件包 --install-suggests 同时安装APT给出的建议安装的软件包

    dpkg 这个命令也是很有用的,事实上,dpkg 是 apt-get 和 aptitude 这两个命令的后端 (backend)命令,而 apt-get 和 aptitude 又是 Synaptic 和 Software Center 这样的软件安装工具的后端。

    依赖链:

    dpkg --> apt-get, aptitude --> Synaptic, Software Center

    如果是本地的 .deb 软件包,我们可以用 dpkg 来安装:

    sudo dpkg -i *.deb

    卸载:

    sudo dpkg -r 包名

    dpkg常用参数介绍:

    参数 说明 -i 安装指定deb包 -R 后面加上目录名,用于安装该目录下的所有deb安装包 -r remove,移除某个已安装的软件包 -I 显示deb包文件的信息 -s 显示已安装软件的信息 -S 搜索已安装的软件包 -L 显示已安装软件包的目录信息

    参考文献


    Linux探索之旅 | 第二部分第七课:软件安装,如虎添翼

    转载请注明原文地址: https://ju.6miu.com/read-674046.html

    最新回复(0)