Linux 软件安装管理

567 查看

文章内容来自

一、rpm 命令管理

1. 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...