软件包管理 简易版
1、rpm软件包管理
systemctl start [软件名] #开启软件
systemctl stop [软件名] #关闭软件
挂载ISO硬盘
1、mount /dev/sr0 /mnt
2、mount /dev/cdrom /mnt
3、mount -o loop Centos... /mnt
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
安装rpm包
参数:
安装:rpm -ivh <RPM包名全称> yum install [软件包名称]
卸载:rpm -e <RPM包名> yum remove [软件包名称]
升级:rpm -Uvh <RPM包名> yum update [软件包]
--nodeps : 忽略依赖关系
--force : 强制安装
rpm -qa 重要 #查询系统中安装的所有RPM软件包
rpm -qa | grep php #检索系统中已经安装有关php的软件包
rpm -q <RPM包名> #查询指定软件包是否已安装
rpm -qi <RPM包名> #查询系统中已安装包的描述信息
rpm -ql <RPM包名> #查询系统中已安装包里所包含的文件
rpm -qc <RPM包名> 重要 #查询指定软件包的所有配置文件
pm -qd <RPM包名> # 查询某个包安装的帮助文档
rpm -qf 文件路径 #查询系统中指定文件所属的软件包
-p # 在上述选项的基础上加选项-p,就可以查看尚未安装的rpm包信息
额外选项
--nomd5 # 不检验软件包的签名
--nodeps # 忽略依赖性安装软件,安装后软件有可能无法使用,最好是解决依赖性后再安装
[root@localhost ~]# rpm -e dos2unix --nodeps # 忽略依赖关系
--force # 强制安装软件包,只有安装和升级可以强制执行
方式一:rpm -ivh [软件包名称](需要手动解决依赖)
例: [root@localhost Packages]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
方式二:yum install [软件包名称](自动解决依赖)
例: [root@localhost ~]# yum install nginx-1.20.1-2.el7.x86_64.rpm
例2:写一个脚本,如果系统中没有安装zsh,则自动安装,如果已经安装,则忽略,并只打印已经安装完毕
rpm -q zsh &>/dev/null
[ $? -eq 0 ] && echo "已经安装完毕"
rpm -q zsh &>/dev/null
[ $? -ne 0 ] && yum install zsh -y &>/dev/null && echo "已经安装完毕"
源代码包编译
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
二进制包安装
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
yum及yum仓库
1、什么是yum,yum解决了什么问题?
yum是rpm包管理工具,解决了rpm包安装时的依赖问题。
2、yum的原理
yum需要使用yum源中配置的yum仓库地址,转到对应的yum仓库中下载并安装对应的软件。
3、yum的常用命令
1、安装
yum install [软件包名称] #yum reinstall [软件名] (恢复软件配置文件)
参数:-y : 免交互安装
2、升级
yum update [软件名]
参数:-y : 免交互更新
注:如果软件名为空,则更新整个系统。
3、卸载
yum remove [软件名]
参数:-y : 免交互卸载
4、查看仓库列表
1、显示启用仓库列表
[root@localhost yum.repos.d]# yum repolist
2、显示所有仓库列表
[root@localhost yum.repos.d]# yum repolist all
5、开启或禁用仓库
注:yum-config-manager需要安装如下包
[root@localhost yum.repos.d]# yum install yum-utils
1、禁用仓库
[root@localhost yum.repos.d]# yum-config-manager --disable base22
2、启用仓库
[root@localhost yum.repos.d]# yum-config-manager --enable base22
6、查看仓库中的软件
1、软件列表
yum list
2、软件包组
yum grouplist
3、查询命令所属的软件包
yum provides [命令的全路径]
[root@localhost yum.repos.d]# yum provides /usr/bin/wget
4、安装软件包组
[root@localhost yum.repos.d]# yum groupinstall 'Minimal Install'
5、重装软件
yum reinstall [软件名称]
[root@localhost yum.repos.d]# yum reinstall wget
6、查看系统那些软件包可以升级
[root@localhost yum.repos.d]# yum check-update
7、重新生成yum源缓存
yum makecache
8、清理yum源缓存
yum clean all
9、yum历史
1、查看yum历史
yum history
2、查看某条历史详情
[root@localhost yum.repos.d]# yum history info 25
10、本地安装
yum localinstall [安装包全路径]
4、实现私有yum仓库
1、建立仓库
[root@localhost yum]# mkdir -p /var/yum/
2、上传软件
1、安装必要软件
[root@localhost yum]# yum install createrepo yum-utils -y
2、上传被yum管理的软件
[root@localhost yum]# mkdir Packages && cd Packages
[root@localhost yum]# wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zsh-5.0.2-34.el7_8.2.x86_64.rpm
3、建立依赖关系(初始化仓库)
[root@localhost yum]# createrepo /var/yum/
4、编写yum源配置文件
# 1、必须放在/etc/yum.repos.d目录中才行
# 2、必须以.repo作为扩展名
# 3、yum源中至少有源名称、源简介以及源链接三个配置项
[local]
name='xxxxxxxxxxxxxxxxxxxxxxx'
baseurl=file:///var/yum
5、测试
[root@localhost yum]# yum clean all
[root@localhost yum]# yum makecache
[root@localhost yum]# yum install zsh
6、实现远程连接
1、安装远程连接软件
[root@localhost yum]# yum install vsftpd -y
2、修改远程连接软件的配置
在/var/ftp/下创建/yum/Packages/ (Packages目录,里面放各种需要的软件包)
wget下载https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zsh-5.0.2-34.el7_8.2.x86_64.rpm
[root@localhost yum]# systemctl start vsftpd
3、测试远程连接软件的功能
在浏览器上访问:ftp://192.168.230.10/
4、 建立依赖关系(初始化仓库)
[root@localhost ~]# cd /var/ftp/yum
[root@localhost yum]# createrepo /var/ftp/yum/
PS:初始化仓库后,建立关系的目录下生成一个'repodata'源数据引导的目录文件
5、修改yum源
# 1、必须放在/etc/yum.repos.d目录中才行
# 2、必须以.repo作为扩展名
# 3、yum源中至少有源名称、源简介以及源链接三个配置项
[local]
name='xxxxxxxxxxxxxxxxxxxxxxx'
baseurl=ftp://192.168.230.10/yum/
# 4、[root@localhost ~]# yum clean all # 清理缓存
[root@localhost ~]# yum makecache # 制作缓存
下载需要的软件包及相关依赖的命令:--destdir --resolve
[root@localhost ~]# yumdownloader --destdir=/var/ftp/yum/Packages/ --resolve httpd