Linux:软件包管理

特定的软件包管理系统可以方便地安装和卸载软件包。linux中,常用的软件包格式有两种,不同的linux发行版本 使用的版本各不相同:SUSE, Red Hat, Fedora 等 发行版本使用 RPM,而Debian 和 Ubuntu 则使用 .deb格式的软件包。

  • 安装 Google Chrome for Linux

在linux系统中下载 Google Chrome浏览器时,需要根据所使用的linux发行版本,下载不同的软件包:
对于Debian 和 Ubuntu用户,可以输入如下命令下载Google Chrome:

sudo dpkg -i google-chrome-stable_current_i386.deb ## dpkg: https://www.linuxprobe.com/linux-dpkg-commad.html

对于openSUSE 和 其他使用 RPM软件包的用户,则可以输入如下命令:

su ##跳转到root用户
rpm -ivh google-chrome-stable_current_i386.rpm ## rpm: https://www.runoob.com/linux/linux-comm-rpm.html
  • 卸载 Chrome for Linux
    1,卸载软件需要提供完整的软件包名或者版本,如果用户无法给出,可以使用如下命令获取完整的软件包名:
    对于Debian 和 Ubuntu用户,可以输入如下命令获取完整软件包名称:
dpkg -l | grep chrome

对于Red Hat 和其他 RPM软件包的用户,可以输入如下命令获取完整软件包名称:

rpm --query chrome

2,知道了软件包名后,可以使用如下名列卸载Chrome:
对于Debian 和 Ubuntu用户,可以输入如下命令进行卸载:

sudo dpkg -r google-chrome-stable

对于Red Hat 和其他使用RPM软件包的用户,可以输入如下命令进行卸载:

su
rpm -e google-chrome-stable
  • 软件包管理工具 rpm, dpkg
    1,管理.deb软件包: dpkg,其主要用于Debian 和 Ubuntu 这两个发行版本。
dpkg -i package_name ##安装软件包
dpkg -install package_name ##-i 为 -install 的缩写
##所有的软件包在安装前都必须保证其所依赖的库和支持构造已经安装在系统中。如果想要忽略这些问题,坚持安装软件包,可以使用 --force-选项,强制安装软件包。但是,--force- 选项往往只能让事情变的更糟,要谨慎使用;
dpkg -l | grep openssh ##查看已经安装的软件包完整信息
dpkg -S openssh ##了解所安装的软件究竟向系统中复制了哪些文件; -S 为 --search 的 简写
dpkg -r opera ##卸载已经安装的软件包;-r 为 -remove 的简写; 
##注意:使用dpkg -r 所卸载的软件包可能包含其他软件所依赖的库和数据文件,在 这种情况下卸载将可能导致不可预计的后果。因此,在卸载前要先确认已经解决了所有的依赖关系,或者 使用 高级软件包工具 APT。

2,管理RPM软件包:rpm,这个软件包管理工具用于绝大多数的linux发行版本,如Red Hat,openSUSE 等。

sudo rpm -i -v -h dump-0.4b41-1.src.rpm ## -i:安装软件包;-v:显示rpm当前正在执行的工作;-h:通过打印一系列的#提醒用户当前的安装进度。
##上述命令又可以写为:
sudo rpm -ivh dump-0.4b41-1.src.rpm
##rpm -i 同样提供了 --force 选项,与dpkg -i --force作用相同,同样不提倡使用
##当正在安装的软件包在其他一些软件包的支持下才能正常工作时,就会发生软件包 相关性冲突。利用--nodeps选项,可以时RPM忽略这些错误继续安装软件包,此种方法同样不提倡使用。
sudo rpm -Uvh dump-0.4b41-1.src.rpm ## -U用于升级一个软件包,在升级软件包时,RPM首先卸载老版本软件包,然后在安装新的软件包。
rpm -q check ##-q:查询当前系统中已经安装的软件包check
##如果用户不记得软件包的完整名称,而只知道其中几个关键字,可以有如下2种操作方法:
rpm -qa ##-a:可以列出当前系统上已经安装的所有软件包
rpm -qa | grep xorg ##如果记得几个关键字,可以通过grep查找出所有相关软件包,在通过-qa查看这些软件包的相关信息
sudo rpm -e tcpdump ##卸载软件包,这个命令接收软件包的名字作为参数,名称中不应该带有版本信息。
##由于软件包之间存在互相依赖的关系,所以,很可能由于此原因,RPM拒绝卸载请求,此时可以用--nodeps选项,忽视软件包的相互依赖关系,而继续进行卸载操作,但是,这个选项不提倡使用
sudo rpm -e -vv --test xorg-xll-devel ##--test选项是一个十分有用的卸载选项,它要求RPM模拟删除软件包的全过程,而不真正的执行删除操作;-vv选项 要求PRM输出完整的调试信息。
  • 高级软件包管理工具:APT , yum (yum 只能用于 rpm 软件包的安装)
    rpm, dpkg 虽然大大减少了安装软件包的工作量,但是,仍不能有效的解决依赖性问题,为解决这一问题,一些高级软件包管理工具应运而生。
    APT 是现今最成熟的软件包管理系统,它可以自动检测软件依赖问题,下载和安装所有文件。
    APT最初被设计运行于Debian系统上,后来也发展出rpm版本:可以从apt-rpm.org获得APT的RPM版本。
    1,APT最常用的2个命令为:
    apt-get:用于执行和软件包安装有关的所有操作;
##在安装和更新软件包之前,建议使用apt-get update 更新当前apt-get缓冲中的软件包信息,以保证获得的软件包是最新的
sudo apt-get update 
sudo apt-get wesnoth ##安装wesnoth
apt-get install ##下载并安装软件包
apt-get upgrade ##下载并安装在本系统上已有的软件包的最新版本
apt-get remove ##卸载特定的软件包
sudo apt-get remove tremulous ##删除软件包tremulous
apt-get source ##下载特定的软件源代码
apt-get clean ##删除所有已下载的包文件
apt-get -h ##列出apt-get的完整用法
man apt-get ##也可以用man命令获得apt-get更多的信息

apt-cache:用于查找软件包的相关信息;

apt-cache search flight ##搜索带flight字样的软件包信息
apt-cache depends flightgear ##查询软件flightgear的依赖关系

2,配置apt-get
apt-get用于下载软件的地址(通常被称为安装源),都被放在/etc/apt/sources.list 中,这是一个文本文件,应该以root权限编辑,可以用任何文本编辑器打开并编辑。文件中带#的行 为注释行,apt-get 会自动忽略该行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sarah ฅʕ•̫͡•ʔฅ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值