Linux知识心得15 Linux 软件包管理
笔记
1、今日内容
1、rpm软件包管理
1、挂载ISO硬盘
1、mount /dev/sr0 /mnt
2、mount /dev/cdrom /mnt
3、mount -o loop Centos... /mnt
2、rpm包管理命令
寻找rpm包:
1、ISO镜像中
2、镜像站下载
华为云开源镜像站:https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/
3、epel源中下载
redhat系列操作系统扩展软件包仓库
4、下载软件包
wget https://repo.huaweicloud.com/epel/7/x86_64/Packages/n/nginx-1.20.1-2.el7.x86_64.rpm
1、安装rpm包
方式一:rpm -ivh [软件包名称](需要手动解决依赖)
[root@localhost Packages]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:zsh-5.0.2-34.el7_8.2 ################################# [100%]
方式二:yum install [软件包名称](自动解决依赖)
[root@localhost ~]# yum install nginx-1.20.1-2.el7.x86_64.rpm
[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
参数:
--nodeps : 忽略依赖关系
--force : 强制安装
2、升级rpm包
格式:
rpm -Uvh [软件包]
yum update [软件包]
例1:升级nginx
[root@localhost ~]# wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.18.0-2.el7.ngx.x86_64.rpm
[root@localhost ~]# rpm -ivh nginx-1.18.0-2.el7.ngx.x86_64.rpm
[root@localhost ~]# wget https://repo.huaweicloud.com/epel/7/x86_64/Packages/n/nginx-1.20.1-2.el7.x86_64.rpm
[root@localhost ~]# rpm -Uvh nginx-1.20.1-2.el7.x86_64.rpm
[root@localhost ~]# nginx -v
nginx version: nginx/1.20.1
例2:升级httpd
1、版本1
[root@localhost ~]# wget http://repo.okay.com.mx/centos/7/x86_64/release/httpd-2.4.35-4.el7.x86_64.rpm
2、版本2
[root@localhost ~]# wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/httpd-2.4.6-95.el7.centos.x86_64.rpm
3、安装
[root@localhost ~]# yum install httpd-2.4.6-95.el7.centos.x86_64.rpm
4、查看版本号
[root@localhost ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Oct 1 2020 16:52:05
5、升级
[root@localhost ~]# yum update httpd-2.4.35-4.el7.x86_64.rpm
3、卸载rpm包
格式:
rpm -e [软件包名称]
yum remove [软件包名称]
例1:卸载nginx
[root@localhost ~]# rpm -e nginx
4、查看软件包安装内容
1、查看软件包是否安装
[root@localhost ~]# rpm -q httpd
package httpd is not installed
[root@localhost ~]# rpm -q nginx
nginx-1.20.1-2.el7.x86_64
例1:写一个脚本,如果系统中没有安装nginx,则自动安装,如果已经安装,则忽略
rpm -q nginx
[ $? -ne 0 ] && yum install nginx
例2:写一个脚本,如果系统中没有安装zsh,则自动安装,如果已经安装,则忽略,并只打印已经安装完毕
rpm -q zsh &>/dev/null
[ $? -eq 0 ] && echo "已经安装完毕"
rpm -q zsh &>/dev/null
[ $? -ne 0 ] && yum install zsh -y &>/dev/null && echo "已经安装完毕"
例3:写一个脚本,如果系统中没有安装dos2unix,则自动安装,如果已经安装,则忽略,并只打印安装版本号。
rpm -q dos2unix &>/dev/null
[ $? -eq 0 ] && rpm -q dos2unix | cut -d'-' -f2
rpm -q dos2unix &>/dev/null
[ $? -ne 0 ] && yum install dos2unix -y &>/dev/null && rpm -q dos2unix | cut -d'-' -f2
2、查看软件包内容
1、查询系统中已安装包的描述信息
格式:
rpm -qi [软件包名称]
例1:获取nginx安装包的描述信息
[root@localhost ~]# rpm -qi nginx
Name : nginx
Epoch : 1
Version : 1.20.1
Release : 2.el7
Architecture: x86_64
2、查询系统中已安装包⾥所包含的⽂件
格式:
rpm -ql [软件包名称]
例1:查询nginx安装包所包含的文件
[root@localhost ~]# rpm -ql nginx
3、查询指定软件包的所有配置⽂件
格式:
rpm -qc [软件包名称]
例1:查询nginx软件包配置文件
[root@localhost ~]# rpm -qc nginx
4、查询某个包安装的帮助⽂档
格式:
rpm -qd [软件包名称]
例1:查询nginx软件版的帮助文档
[root@localhost ~]# rpm -qd nginx
5、查询系统中指定⽂件所属的软件包
格式:
rpm -qf [软件包路径]
例1 :查询nginx-1.20.1软件包安装的软件
[root@localhost ~]# rpm -qf /usr/sbin/nginx
nginx-1.20.1-2.el7.x86_64
3、其他
-p : 查看未安装的软件包内容
例1:查看nginx-1.18.0-2.el7.ngx.x86_64.rpm 安装的配置文件
[root@localhost ~]# rpm -qpc nginx-1.18.0-2.el7.ngx.x86_64.rpm
--nomd5 # 不检验软件包的签名
例1:不检查md5安装nginx
[root@localhost ~]# rpm -ivh nginx-1.18.0-2.el7.ngx.x86_64.rpm --nomd5
md5 : 可以加密二进制,加密之后得到一个md5字符串
--nodeps : 忽略依赖安装
--force : 强制安装
2、源代码包编译
1、需要语言编辑器
yum install gcc gcc-c++ make -y
2、下载源代码
[root@localhost ~]# wget https://nginx.org/download/nginx-1.20.1.tar.gz
[root@localhost ~]# tar -xf nginx-1.20.1.tar.gz
[root@localhost nginx-1.20.1]# cd nginx-1.20.1
3、编译安装
1、初始化配置
[root@localhost nginx-1.20.1]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
2、编译
[root@localhost nginx-1.20.1]# make
3、安装
[root@localhost nginx-1.20.1]# make install
4、校验
[root@localhost nginx-1.20.1]# cd /usr/local/nginx/
[root@localhost nginx]# ./sbin/nginx
5、增加模块
[root@localhost nginx-1.20.1]# make clean all
3、二进制包安装
1、下载
[root@localhost ~]# wget https://repo.huaweicloud.com/etcd/v3.4.9/etcd-v3.4.9-linux-amd64.tar.gz
2、解压
[root@localhost ~]# tar -xf etcd-v3.4.9-linux-amd64.tar.gz -C /usr/local
3、添加环境变量
[root@localhost ~]# vim /etc/profile
export ETCD_HOME=/usr/local/etcd-v3.4.9-linux-amd64
export PATH=$PATH:$ETCD_HOME
4、测试
[root@localhost ~]# etcdctl version
etcdctl version: 3.4.9
API version: 3.4

浙公网安备 33010602011771号