Linux安装软件整理
关于Linux软件包的资料,可以看一下慕课网的教程:https://www.imooc.com/video/8745
使用rpm
安装
对于centos和redhat来说,可以使用rpm来进行软件的安装,
使用ivh选项(install、visual)
比如要安装apache,则可以使用
rpm -ivh httpd-xxxxxx.rpm
注意,软件包要使用全名(软件名+版本+支持的系统.rpm)
使用rpm在安装软件的时候,需要解决特别麻烦的依赖关系,特别的麻烦
升级
使用U选项替换i选项(upgrade更新)
rpm Uvh httpd-xxxxxxxx.rpm
注意,升级的时候,也要使用软件包全名
如果要更新的软件已经安装了,那么就会更新软件包;如果之前没有安装这个软件,那么此时就会安装这个软件的最新版本。
卸载
使用-e选项(eraser橡皮擦)
rpm -e httpd
但是,在卸载一个软件软件的时候,必须将其依赖的软件也卸载掉,否则软件包是卸载不掉的。
查询某个软件包是否安装
使用-q选项(query),-a选项(all)
显示已安装的所有软件:rpm -qa
查询是否安装某个软件: rpm -q httpd
在查询的时候,只需要使用软件名,不需要输入版本号信息。
如果不知道软件名是否正确,可以使用管道加正则匹配:
rpm -qa | grep http*
是在已经安装的所有列表中搜索,并不是列出可安装的软件包。
查询某个软件包的安装路径
-ql联合使用 (list)
rpm -ql httpd
rpm包的安装文件可能安装在多个目录里面。
加一个-p选项可以查询某个未安装的包打算安装到哪些目录
查询某个安装包的依赖
-qR联合使用
rpm -qR httpd
列出的依赖可能有很多,包括最基础的/bin/bash,所以并不适用。
校验rpm包
使用-V选线(verify)
rpm -V httpd
如果没有任何输出,表示此时的软件和发布的时候,没有被修改过。
一旦有提示,就证明有修改。
使用Yum
yum是在线安装工具,所以需要联网,会自动从服务器下载依赖,解决依赖,不用想rpm一样一个一个安装依赖。
需要注意的使用yum也是安装的rpm包,并不是传说中的yum包。
yum源
在/etc/yum.repos.d目录下,保存yum源文件:
[root@localhost /]# ls /etc/yum.repos.d/ CentOS-Base.repo CentOS-Epel.repo
可以有多个yum源文件,但是只有Base是默认生效的(即CentOS-Base.repo是默认生效的,其他都是不生效的)
查看CentOS-Base.repo
[root@VM_0_8_centos /]# cat /etc/yum.repos.d/CentOS-Base.repo [extras] gpgcheck=1 gpgkey=http://mirrors.tencentyun.com/centos/RPM-GPG-KEY-CentOS-7 enabled=1 baseurl=http://mirrors.tencentyun.com/centos/$releasever/extras/$basearch/ name=Qcloud centos extras - $basearch [os] gpgcheck=1 gpgkey=http://mirrors.tencentyun.com/centos/RPM-GPG-KEY-CentOS-7 enabled=1 baseurl=http://mirrors.tencentyun.com/centos/$releasever/os/$basearch/ name=Qcloud centos os - $basearch [updates] gpgcheck=1 gpgkey=http://mirrors.tencentyun.com/centos/RPM-GPG-KEY-CentOS-7 enabled=1 baseurl=http://mirrors.tencentyun.com/centos/$releasever/updates/$basearch/
上面各个属性的含义如下:
[extras]、[os]、[updates] 指定容器,可以自定义 name 对上面的容器进行说明 baseurl yum源服务器的地址 mirrorlist 镜像站点 enabled 值为1或者省略时,表示该容器生效,为0时,则表示不生效 gpgcheck gpgkey 是关于gpg加密验证,可以不用关心。
禁止网络yum源(Base需要联网下载)
直接将CentOS-Base.repo修改一个文件名即可,比如改成CentOS-Base.repo.bak,然后在其他yum源文件中将enabled置为1即可。
显示可以使用yum安装的软件列表
yum list
返回的结果可能有很多很多条,没有实际的作用
搜索安装包
yum search nginx
安装软件
yum install nginx
在安装的时候,可能会有一些交互,让用户做一些选择,输入Y/N/y/n等,可以使用-y自动确认yes。
升级软件
yum -y update nginx
如果update后面不写软件,那么就代表升级linux系统所有程序。
卸载软件
yum -y remove nginx