软件包管理 简易版

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
posted @ 2021-07-05 14:00  小丶凡  阅读(59)  评论(0编辑  收藏  举报
1