linux之软件管理总结

目录

包管理器rpm

升级,降级

好莱坞 

yum和dnf客户端配置 

简单介绍

 为CentOS 8 配置 yum 软件包源

 私用 yum仓库下载本地

 只下载相关的依赖包,而不安装

脚本 


包管理器rpm

CentOS系统上使用rpm命令管理程序包 功能:安装、卸载、升级、查询、校验、数据库维护

#常用组合

rpm -ivh     #安装显示,进度条

rpm -evh   #卸载显示,进度条    (改过的配置文件不会被删除)

rpm -q       #查询安装包名

                   -qi 包名,包的说明:版本,安装时间,发行者,功能

                   -ql  包名  ,列出此包包括的文件列表

                   -qc 包名,只列出此包中的配置文件
                   -qa  列出所有安装好的包
                    -qf 文件名 查询此文件来自于哪个包

-v|verbose #显示详细信息
-vv #更详细
-h #显示安装进度条
--test #测试安装,但不真正执行安装,即dry run模式
--nodeps #忽略依赖关系
--replacefiles #忽略软件包之间的冲突的文件
--replacepkgs #如果软件包已经有了,重新安装软件包
--nosignature #不检查来源合法性
--nodigest #不检查包完整性
--noscripts #不执行程序包脚本,相当于 --nopre --nopost --nopreun --nopostun -
-nopretrans --noposttrans
--nopre #不执行程序包中安装前脚本
--nopost #不执行程序包中安装前脚本
--nopreun #不执行程序包中卸载前脚本
--nopostun #不执行程序包中卸载后脚本
--nopretrans #安装前不执行与程序同名脚本
--noposttrans #安装后不执行与程序同名脚本
升级,降级
upgrade #安装有旧版程序包,则“升级”,如果不存在旧版程序包,则“安装”
freshen #安装有旧版程序包,则“升级”, 如果不存在旧版程序包,则不执行升级操
作
--oldpackage #降级
--force #强制安装
#常用组合
rpm -Uvh PACKAGE_FILE ...
rpm -Fvh PACKAGE_FILE ..

 ubuntu

apt autoremove   #卸载所有自动安装且不再使用的软件包   

      remove          #移除软件包

apt install mysql-server         安装

好莱坞 
root@ubuntu20:~# apt install hollywood
root@ubuntu20:~# hollywood

yum和dnf客户端配置 

CentOS 8 用dnf 代替了yum ,不过保留了和yum的兼容性,配置也是通用的

repo仓库配置文件指向的定义

 bash-completion 命令补全工具

dpkg -S `which pstree`  查看命令链接

[root@rocky81 named]# yum provides nslookup  查找未知命令

[root@rocky81 named]#  yum search *nslookup*  查找未知命令

--downloadonly #只下载,不安装   能解决依赖
[--downloaddir|--destdir]=path #指定下载目录,如果下载目录不存在,则自动创建

#只下载不安装
yum -y install --downloadonly --downloaddir=/mysql mysql
简单介绍

地址 [root@rocky86-1 ~]# cd /etc/yum.repos.d/

yum clean all  #安装失败,清理缓存  yum makecache    #在创建缓存
yum history     #yum的安装卸载等记录
/etc/yum.repos.d/*.repo: #为每个仓库的提供配置文件 路径必须一样


[repositoryID]                        名字只能唯一字母
name=Some name for this repositor     描述
baseurl=url://path/to/repository/     仓库路径必须准确写清楚(支持四种路径) 

file:// 本地路径    http://     https://      不检查 ftp://

enabled={1|0}        启用禁用 可写可不写
gpgcheck={1|0}       监察包是否合法  0
gpgkey=URK           检查路径 配合上面一般在相关仓库都自带key

目前建议至少三个仓库 光盘俩   epel一个  

  yum的repo配置文件中可用的变量:
  $releasever: 当前OS的发行版的主版本号,如:8,7,6
  $arch: CPU架构,如:aarch64, i586, i686,x86_64等
  $basearch:系统基础平台;i386, x86_64
  $contentdir:表示目录,比如:centos-8,centos-7
  $YUM0-$YUM9:自定义变量

 yum repolist             #查看并列出仓库

 yum remove httpd   #卸载yum安装的运用,修改过的需要手动删除

 yum repolist  -v        # 列出epel 的包

 yum info sl               #产看安装包信息

yum install epel-release  #自动生成epel原(太慢不建议使用)

 为CentOS 8 配置 yum 软件包源

配置一个源Packges 和repodata是主要的  repodata必须要有,他取得就是repodata

通过这段配置添加到YUM配置文件中,可以让系统知道可以从这个URL下载软件包并安装。这样,就可以使用YUM命令来搜索、安装和更新与该存储库中的软件包相关的内容。

zlib.x86_64       1.2.11-21.el8_7                @BaseOS       #@显示是已经装过的  


10.0.0.18 是yum源库
10.0.0.8  是客户端

10.0.0.18 是yum源库
#把原有的移除
[root@rocky8 yum.repos.d]#mkdir /tmp/yum.repo.d/
[root@rocky8 yum.repos.d]#mv * /tmp/yum.repo.d/   
[root@rocky8 yum.repos.d]#ls
[root@rocky8 yum.repos.d]#yum repolist 
No repositories available

#创建新的yum源
[root@rocky8 yum.repos.d]#vim aliyun-appstream.repo
[aliyun-appstream]
name=aliyun appstream
baseurl=https://dl.rockylinux.org/vault/rocky/8.6/AppStream/x86_64/os/   
gpgcheck=0      #校验 0关闭

#加载查看一下有多少个包
[root@rocky8 yum.repos.d]#yum repolist -v   
Repo-id            : aliyun-appstream  
Repo-name          : aliyun appstream
Repo-revision      : 1667574700
Repo-updated       : Fri 04 Nov 2022 11:11:39 PM CST
Repo-pkgs          : 8,207
Repo-available-pkgs: 6,546
Repo-size          : 18 G
Repo-baseurl       : https://dl.rockylinux.org/vault/rocky/8.6/AppStream/x86_64/os/
Repo-expire        : 172,800 second(s) (last: Tue 29 Aug 2023 02:11:21 PM CST)
Repo-filename      : /etc/yum.repos.d/aliyun-appstream.repo
Total packages: 8,207
运行 yum update 或其他YUM命令来更新存储库并安装软件包。

10.0.0.18 是yum源库
10.0.0.8  是客户端

10.0.0.18
#挂载光盘
[root@loaclhost ~]$mount /dev/sr0 /cdrom/
#下载htppd做网页
yum install -y httpd
#关防火墙
systemctl disable --now firewalld
#创建配置文件
[root@loaclhost ~]$cp -rv /cdrom/BaseOS/ /var/www/html/rocky86/

10.0.0.8
[root@rocky8 yum.repos.d]#pwd
/etc/yum.repos.d
[root@rocky8 yum.repos.d]#cat private-baseos.repo 
[private-baseos]
name=private baseos
baseurl=http://10.0.0.18/rocky86/BaseOS/
gpgcheck=0
#加载一下
yum repolist -v   

 私用 yum仓库下载本地

[root@rocky8 yum.repos.d]#cd /etc/yum.repos.d/
[root@rocky8 yum.repos.d]#cat aliyun-extras.repo  #选择要下载的地址,我这以阿里的extras为例
[aliyun-extras]
name=aliyun extras
baseurl=https://dl.rockylinux.org/vault/rocky/8.6/extras/x86_64/os/
gpgcheck=0

yum repolist aliyun-extras -v  #加载查看一下 查看没问题后挡下来
#指定下载的yum名字及下载到什么位置
yum reposync --repoid=aliyun-extras --download-metadata -p /var/www/html/rocky86  

在客户端操作

[root@rocky8 yum.repos.d]#cat private-extras.repo    指定
[private-extras]
name=private extras
baseurl=http://10.0.0.18/rocky86/extras/
gpgcheck=0

#查看,列出
yum repolist -v
yum list --repoid=private-extras -v  

 只下载相关的依赖包,而不安装

/data/目录如果不存在,会自动创建
下载到安装包[root@centos8 ~]#yum -y install --downloadonly --downloaddir=/data/httpd httpd

安装  root@rocky86-1 data]# yum -y install /data/httpd/*.rpm

3搜索相关安装包yum search   xxx

4查看如果安装此包会生成那些文件dnf repoquery -l  xxxxx

5 查看相关缓存信息   ll /var/cache/dnf/

6产看缓存多大  du -sh /var/cache/dnf/

7清理缓存   dnf clean all            更新缓存yum makecache 

8查看你用yum干了什么    yum history              详细查看那个步骤  yum history    info 

脚本 

#!/bin/bash
#
#********************************************************************
#Author:            weizhaohui
#QQ:                704318431
#Date:              2022-07-28
#********************************************************************
CPUS=`grep -c  processor /proc/cpuinfo`
HTTPD_VERSION=2.4.54
INSTALL_DIR=/apps/httpd
COLOR="echo -e  \E[32;1m"
END="\E[0m"

. /etc/os-release


if [ $ID = 'rocky' -o $ID = "centos" ];then
    systemctl disable --now firewalld
    yum -y install gcc make apr-devel apr-util-devel openssl-devel pcre-devel redhat-rpm-config bzip2
elif  [ $ID = 'ubuntu' ];then
    atp update
    apt -y  install  libapr*  libpcre3* libssl-dev make
else
    $COLOR"不支持此系统"$END
    exit
fi


cd /usr/local/src
rpm -q wget || yum -y install wget
#wget https://dlcdn.apache.org//httpd/httpd-${HTTPD_VERSION}.tar.bz2  || { $COLOR "下载失败,退出" $END;exit ; }
wget https://mirrors.aliyun.com/apache/httpd/httpd-${HTTPD_VERSION}.tar.bz2 || { $COLOR "下载失败,退出" $END;exit ; }

tar xf httpd-${HTTPD_VERSION}.tar.bz2
cd httpd-${HTTPD_VERSION}

./configure --prefix=${INSTALL_DIR} --enable-ssl  --disable-status

make -j $CPUS && make install

ln -s /apps/httpd/bin/apachectl  /usr/local/bin/

apachectl start && $COLOR"安装成功!"$END
$COLOR"请访问:http://`hostname -I`"$END
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值