安装软件程序

本文介绍了Linux系统中基于Debian和Red Hat发行版的软件包管理基础,包括dpkg、aptitude、yum、urpm和zypper等工具的使用方法,如安装、更新、卸载软件包以及处理依赖关系。详细讲解了各命令的功能和实例,帮助用户更好地理解和操作Linux软件管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 包管理基础
软件包存储在服务器上,可以利用本地Linux系统上的PMS工具通过互联网访问。这些服务器称为仓库(repository)。

基于Debian的发行版(如Ubuntu和Linux Mint)使用的是dpkg命令,这些发行版的PMS工具也是以该命令为基础的。dpkg会直接和Linux系统上的PMS交互,用来安装、管理和删除软件包。

基于Red Hat的发行版(如Fedora、openSUSE及Mandriva)使用的是rpm命令,该命令是其PMS的底层基础。类似于dpkg命令,rmp命令能够列出已安装包、安装新包和删除已有软件。

二. 基于Red Hat的系统

  1. red hat系统可用(基于rpm命令行工具)的前端工具常见的有以下几种。
    1)yum:在Red Hat和Fedora中使用。
    2)urpm:在Mandriva中使用
    3)zypper:在openSUSE中使用

  2. yum的使用.
    列出软件包:
    1)yum list installed //查看系统已安装的包
    2)yum list installed > installed_software(文件名) //将已安装的软件包列表重定向到一个文件中
    3) yum list xterm(包名) //查看软件包的详细信息
    4)yum list installed xterm(包名) //查看包是否安装
    5)yum provides /etc/yum.conf(文件名) //查找系统某个文件属于哪个软件包

    安装软件包:
    6)yum install xterm(包名) //安装软件
    7)yum localinstall package_name.rpm(包文件) //本地安装(本地安装就是无网络安装,安装包已经使用某种方式下载本地)

    更新软件:
    8)yum list updates //列出需要更新的软件
    9)yum update package_name(包名) //指定更新某个软件包
    10)yum update //对更新列表中所有包进行更新

    卸载软件:
    11)yum remove package_name(包名) //删除软件包保留数据和配置文件
    12)yum erase package_name(包名) //删除软件包和所有文件

    处理损坏的包依赖关系:
    13)yum clean all //清理yum缓存
    14)yum deplist package_name //查看指定包的依赖关系
    15)yum update --skip-broken //忽略依赖关系

    yum软件仓库:
    16)yum repolist //查看正在从哪些仓库中获取软件

  3. urpm和zypper的使用
    1)列出已安装的包:
    urpm: rpm -qa > installed_software
    zypper :zypper search -I > installed_software

    2)查看各种包详细信息:
    urpm: urpmq -i package_name(包名) //包信息
    urpm: rpm -q package_name(包名) //是否安装
    zypper: zypper search -s package_name(包名) //包信息
    zypper: zypper search -s package_name(包名) //包信息(同样的命令,注意在Status列查找i)

    3)安装软件:
    urpm: urpmi package_name zypper: zypper install package_name

    4)卸载软件:
    urpm :urpme package_name (包名)
    zypper :zypper remove package_name(包名)

    5)修复损坏的依赖关系:
    urpm: urpmi –clean
    Zipper :zypper verify

    6)zypper和urpm的库:
    urpm urpmq --list-media //显示仓库
    urpm urpmi.addmedia path_name //添加仓库
    zypper zypper repos //显示仓库
    zypper zypper addrepo path_name //添加仓库

  4. RPM常用参数
    rpm -ivh // 安装 rpm 软件包 ( -i 表示安装,v 表示显示安装过程,h 表示显示进度)
    rpm -Uvh package_name //升级 rpm 软件包 ( -U 表示升级 rpm 软件包)
    rpm -qa package_name //查找指定的软件包
    rpm -qpl package_name //列出 rpm软件包内的文件信息
    rpm -qpi package_name //列出 rpm 软件包的描述信息
    rpm -qf package_name //查找指定文件属于哪个 rpm 软件包
    rpm -Va //效验所有的rpm 软件包,查找丢失的文件
    rpm -qa | sort | more //将 rpm 的输出通过管道传给 sort 命令,然后再将 sort 的输出通过管道传给 more(分页查看)来显示

三. 基于Debian的系统

  1. dpkg命令是基于Debian系PMS工具的核心。包含在这个PMS中的其他工具有:
    apt-get
    apt-cache
    aptitude
    最常用的命令行工具是aptitude,aptitude工具本质上是apt工具和dpkg的前端。dpkg是软件包管理系统工具,而aptitude则是完整的软件包管理系统。
    命令行下使用aptitude命令有助于避免常见的软件安装问题,如软件依赖关系缺失、系统环境不稳定及其他一些不必要的麻烦。

  2. 查看系统中安装哪些包。
    确定系统上已经安装了什么软件包,如果使用的Linux发行版中已经安装了aptitude,只需要在shell提示符键入aptitude并按下回车键就行了。紧接着就会进入aptitude的全屏模式
    在这里插入图片描述
    选择菜单选项Installed Packages来查看已安装了什么软件包。你可以看到几组软件包,每组后面的括号里都有个数字,表示这个组包含多少个软件包。

  3. 查看详细信息
    aptitude show package_name(包名)
    dpkg -L package_name (包名)//查看所有跟某个特定软件包相关的所有文件的列表。

  4. 用 aptitude 安装软件包
    aptitude search package_name(包名) //查找软件包
    aptitude install package_name(包名) //安装软件包
    注:要检查安装过程是否正常,只要再次使用search选项就可以了。这次你应该可以看到在wine软件包出现了i u ,这说明它已经安装好了。(如果看到一个i,说明这个包现在已经安装到了你的系统上了,如果看到一个p或v,说明这个包可用,但还没安装)

  5. 用 aptitude 更新软件
    aptitude safe-upgrade //将所有已安装的包更新到软件仓库中的最新版本
    (aptitude full-upgrade ,aptitude dist-upgrade)//它们不会检查包与包之间的依赖关系。整个包依赖关系问题非常麻烦。如果不是很确定各种包的依赖关系,那还是坚持用safe-upgrade选项吧。

  6. 用 aptitude 卸载软件
    aptitude remove package_name(包名) //只删除软件包而不删除数据和配置文件
    aptitude purge package_name(包名)//删除软件包和相关的数据和配置文件

  7. aptitude 仓库
    aptitude默认的软件仓库位置是在安装Linux发行版时设置的。具体位置存储在文件/etc/apt/sources. list中。
    下面是ubuntu系统中sources.list文件的例子
    在这里插入图片描述
    使用下面的结构来指定仓库源。
    deb (or deb-src) address distribution_name package_type_list
    deb或deb-src的值表明了软件包的类型。deb值说明这是一个已编译程序源,而deb-src
    值则说明这是一个源代码的源。

    address条目是软件仓库的Web地址。

    distribution_name条目是这个特定软件仓库的发行版版本的名称。在这个例子中,发行版名称是trusty。这未必就是说你使用的发行版就是Ubuntu Trusty Tahr,它只是说明这个Linux发行版正在用Ubuntu Trusty Tahr软件仓库!举个例子,在Linux Mint的sources.list文件中,你能看到混用了Linux Mint和Ubuntu的软件仓库。

    package_type_list条目可能并不止一个词,它还表明仓库里面有什么类型的包。你可以看到诸如main、restricted、universe和partner这样的值。当需要给你的source_list文件添加软件仓库时,你可以自己发挥,但一般会带来问题。通常软件仓库网站或各种包开发人员网站上都会有一行文本,你可以直接复制,然后粘贴到sources.list文件中。最好选择较安全的途径并且只复制/粘贴。aptitude前端界面提供了智能命令行选项来配合基于Debian的dpkg工具。现在是时候了解基于Red Hat的发行版的rpm工具和它的各种前端界面了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值