Linux 软件安装管理

文章内容来自

一、rpm 命令管理

1. rpm 命名规则

rpm包命名规则

rpm包依赖性

2. rpm安装命令

rpm -ivh 包全名

选项:-i (install)安装
     -v (verbose)显示详细信息
     -h (hash)显示进度
     --nodeps 不检测依赖性 这个作用不大

3. rpm升级与卸载

  • 升级

rpm -Uvh 包全名 

选项:-U (upgrade)
  • 卸载

rpm -e 包名  (卸载,普通卸载,考虑到依赖性,可能会报错)
rpm -e --nodeps 包名   (强制卸载,不考虑依赖性)

选项:-e (erase) 卸载
     --nodeps 不检查依赖性

4. rpm包查询

rpm -q 包名 #查询包是否安装

选项:-q  (query)查询
rpm -qa #查询所有已经安装的rpm包

选项:-a  (all)所有

配合grep使用,`rpm -qa | grep 包名`,查询跟包名相关的所有包
rpm -qi 包名 #查询已安装包的信息

选项:-i (information)查询软件信息
rpm -qip 包全名 #查询未安装包的信息

选项:-p (package)查询未安装包信息

图片描述

rpm -ql 包名 #查看包的安装位置

选项:-l (list) 列表
     -p (package) 查询未安装包信息,可以查询未安装的包要安装在哪些位置

图片描述

rpm -qf 系统文件名 (这个文件必须是安装过的)

选项:-f (file) 查询系统文件是属于哪个软件包
rpm -qR 包名 

选项:-R (requires) #查询软件包的依赖性,用途不大,可用于总结

5.rpm包校验 (未看)

rpm -V 已安装的包名

选项:-V (verify) 校验

二、yum在线安装

1. yum 源文件

由于rpm包在安装过程中,依赖性太强,则难度过大,所以出现了yum在线安装方法,yum会自动解决依赖性并安装.

centos 系统的 /etc/yum.repos.d/ 文件夹下,存放着yum源文件 ,慕课网Tony老师说有四个文件,但是我的服务器下只有两个文件,其中默认生效的是 CentOS-Base.repo

图片描述

打开 CentOS-Base.repo 文件,可以看到里面的内容

➜  yum.repos.d cat CentOS-Base.repo 
[os]
name=Qcloud centos os - $basearch
baseurl=http://mirrors.tencentyun.com/centos1/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[updates]
name=Qcloud centos updates - $basearch
baseurl=http://mirrors.tencentyun.com/centos1/$releasever/updates/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#[centosplus]
#name=Qcloud centosplus - $basearch
#baseurl=http://mirrors.tencentyun.com/centos1/$releasever/centosplus/$basearch/
#enabled=1
#gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#[contrib]
#name=Qcloud centos contrib - $basearch
#baseurl=http://mirrors.tencentyun.com/centos1/$releasever/contrib/$basearch/
#enabled=1
#gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#[cr]
#name=Qcloud centos cr - $basearch
#baseurl=http://mirrors.tencentyun.com/centos1/$releasever/cr/$basearch/
#enabled=1
#gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[extras]
name=Qcloud centos extras - $basearch
baseurl=http://mirrors.tencentyun.com/centos1/$releasever/extras/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#[fasttrack]
#name=Qcloud centos fasttrack - $basearch
#baseurl=http://mirrors.tencentyun.com/centos1/$releasever/fasttrack/$basearch/
#enabled=1
#gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

图片描述

2. yum 命令

  • 查询

yum list #查询所有可安装软件包列表
yum search 关键字 #搜索服务器上所有和关键字相关的包
  • 安装

yum install 包名 #安装软件,不需要包全名 

选项:-y 自动填写yes
比如:yum -y install gcc
  • 升级

yum -y update 包名 #升级

yum -y update #升级所有软件,包括内核,特别耗时,千万别用
  • 卸载

yum -y remove 包名 #卸载软件,不建议使用此命令卸载软件,此命令卸载的软件,容易出现把重要的其它依赖包卸载掉,造成不必要的损失

在服务器上,最好是最小化安装,需要什么软件安装什么软件,不用多装,除非重大漏洞之类的,稳定的服务器不建议升级软件,尽量不要卸载软件,尤其不要使用yum命令卸载软件

yum grouplist #列出所有可用的软件组列表
yum groupinstall 软件组名 #安装指定软件组
yum groupremove 软件组名 #卸载指定软件组

linux本机是不支持中文显示的,设置远程机语言显示使用以下命令:

LANG=en_US  #中文 改成 英文
LANG=zh_CN.utf8  #英文 改成 中文

yum没有本地查询命令,只能查询服务器上面的可装软件,需要通过rpm命令查询

三、源码包安装

1. 源码包与rpm包的区别

源码包和rpm包安装 最大的不同在于 安装之后所在的位置不一样

图片描述

RPM包的作者认为软件安装在那个位置合适,就会安装在那个位置,RPM包一般情况下安装的默认位置

rpm包可以指定安装位置:rpm --prefix=<dir>

图片描述

两种启动命令,第一种是绝对路径启动,第二种启动方式是使用 service 系统服务管理命令来启动。

源码包的安装位置需要手工指定,一般安装在/usr/local/软件名/,这是因为源码包没有卸载命令,卸载的话直接把安装目录删除就行了

通过源码包安装的软件,启动时需要使用绝对路径来启动

图片描述

2. 源码包安装过程

图片描述

安装步骤:

  1. 下载源码包

  2. 解压源码包

  3. 进入源码包目录

  4. 执行以下语句

./configure --prefix=路径 #这里最好指定安装目录
make && make install  #如果make时报错,可以执行 make clean 清除,再重新 make

慕课网地址:
http://www.imooc.com/learn/447
参考文章:
https://segmentfault.com/a/11...


傅毅
逆袭的码农

你觉得痛苦的事情对你往往是有好处的

263 声望
12 粉丝
0 条评论
推荐阅读
centos 使用 nvm 安装 nodejs (nvm安装时出错,git 版本太老)
安装 nvm 使用以下命令安装nvm ,结果出错 {代码...} 如下: {代码...} 他说错误,也看不出来什么错误,换了一种方式,使用下面的命令安装 {代码...} 这时也报错了,如下: {代码...} 不过他说 nvm 已经安装了 ,...

fuyi5012阅读 13.2k

工具篇:iTerm与Zsh
iTerm2支持许多的主题配色,可以自己定义,也可以参考网上现成的主题配色。我个人比较喜欢draculatheme配色。支持item,vim,phpstorm , 下方存在主题官网路径,按照教程安装即可。

super白4阅读 4.7k

CentOS从零开始部署Nodejs项目
原文地址:[链接]安装nodejs、npm/cnpm {代码...} 安装mysql卸载 {代码...} 安装 {代码...} 启动 {代码...} 登录 {代码...} 修改root密码 {代码...} 允许远程访问,与本地密码区分,是两个密码 {代码...} 安装git...

jigsaw3阅读 5k评论 3

深入剖析容器网络和 iptables
Docker 能为我们提供很强大和灵活的网络能力,很大程度上要归功于与 iptables 的结合。在使用时,你可能没有太关注到 iptables 的作用,这是因为 Docker 已经帮我们自动完成了相关的配置。

张晋涛3阅读 1.3k

封面图
麒麟操作系统 (kylinos) 从入门到精通 - 常用软件安装 - 第三篇 常用软件安装(windows下的习惯)
本篇内容大部分从应用商店进行安装,部分通过官网下载,少部分通过命令行安装。1.原生应用1.1钉钉1.2飞书1.3 蓝信1.4 腾讯文档1.5 金山文档1.6 搜狗输入法(拼音)1.7 五笔输入法1.8 libreoffice官方也带了WPS,...

码上世界3阅读 7.5k评论 17

封面图
Metasploit实现木马生成、捆绑及免杀
在一次渗透测试的过程中,避免不了使用到社会工程学的方式来诱骗对方运行我们的木马或者点击我们准备好的恶意链接。木马的捆绑在社会工程学中是我们经常使用的手段,而为了躲避杀毒软件的查杀,我们又不得不对木...

白风之下1阅读 9k

麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十三篇 字体安装与windows字体的利用
正常情况下,系统下的wps或libreoffice用到的字体都已默认安装。但有时候一些ttf字体或者microsoft office下一些字体需要安装。我们可以在安装好office、acrobat之后,将C:\windows\Fonts文件夹中的字体(我是win...

码上世界2阅读 4k

封面图

你觉得痛苦的事情对你往往是有好处的

263 声望
12 粉丝
宣传栏