目录
包管理器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