Linux 软件包管理
分析 RPM 包
Linux 发行版本
-
以 RHEL 为代表的发行版本,使用rpm包管理系统:
- RHEL (Red Hat Enterprise Linux)
- Fedora(由原来的RedHat桌面版本发展而来,免费版本)
- CentOS(RHEL的社区克隆版本,免费)
- Rocky(RHEL的社区克隆版本,免费)
- OEL(Oralce Enterprise Linux)
-
以 Debian 为代表的发行版本,使用deb包管理系统:
-
Debian,社区Linux的典范,迄今为止最遵循GNU规范的Linux系统。
-
Ubuntu,Debian衍生版,是一个以桌面应用为主的Linux操作系统。
-
Kali Linux,Debian衍生版,旨在渗透测试和数字取证。
-
-
其他版本:ArchLinux Gentoo 等等…
RPM 包文件名格式
redhat 开发了 rpm 包管理,提供一个标准的软件版本管理方法,比从归档包解压文件到系统简单多了。CentOS 提供的所有软件都是rpm格式。
RPM软件包文件名格式:name-version-release.architecture.rpm
示例:lrzsz-0.12.20-36.el7.x86_64.rpm
- name,是描述其内容的一个或多个词语(lrzsz)。
- version,是原始软件的版本号(0.12.20)。
- release,是基于该版本的发行版号,由软件打包商设置,后者不一定是原始软件开发商(36.el7)。
- architecture,是编译的软件包运行的处理器架构。
- noarch,表示此软件包不限定架构。
- x86_64,表示此软件包限定x86 64位。
- aarch64,表示此软件包限定ARM 64位。
RPM 包组成
每个rpm包涵三个部分:
- 需要安装的文件。
- 包的元数据信息,包括包的名称、版本、架构等;软件包说明;软件包依赖关系;许可证;更变日志;其他信息。
- 脚本:软件包安装,更新,卸载需要执行的脚本。
通常,软件提供商使用GPG密钥对RPM软件包进行数字签名(Red Hat会对其发布的所有软件包进行数字签名)。 RPM系统通过确认包由相应的GPG密钥签名来验证包的完整性。 如果GPG签名不匹配,RPM系统拒绝安装包。
复习:非对称加密
非对称加密:有一对公钥和私钥。
- 公钥:分享给别人,用来加密数据。
- 私钥:自己保留,用来解密公钥加密的数据。
Linux中rpm包会被私钥签名,客户端使用公钥验证签名,确保文件的完整性。
RPM 包安装和更新
- 如果同一个软件有多个版本,只需安装最高版本。
- 在大多数情况下,一个软件只能安装一个版本。 kernel是个例外。如果构建包的文件名没有冲突,则可以安装多个版本。 由于只能通过引导到该内核来测试新内核,因此特定设计了包,以便可以一次安装多个版本。如果内核无法启动,则旧内核仍然可用且可引导。
- 软件包升级只需要安装最新版本,不需要逐步升级。
- 升级RPM包将删除旧版本的软件包并安装新版本,通常会保留配置文件。
[root@server ~ 11:33:08]# yum install vsftpd --downloadonly
[root@server ~ 13:42:44]# find / -name vsftpd-3.0.2-29.el7_9.x86_64.rpm
find: ‘/run/user/1000/gvfs’: 权限不够
/var/cache/yum/x86_64/7/updates/packages/vsftpd-3.0.2-29.el7_9.x86_64.rpm[root@server ~ 13:43:13]# cp /var/cache/yum/x86_64/7/updates/packages/vsftpd-3.0.2-29.el7_9.x86_64.rpm .
rpm 命令
查询(重点)
几种模式
rpm -q 查询rpm -q -a
rpm -v 验证
rpm -i 安装
rpm -e 卸载
rpm -u 升级
#查询系统中安装了哪些软件包
[root@server ~ 13:44:32]# rpm -qa
libqmi-utils-1.18.0-2.el7.x86_64
libmpcdec-1.2.6-12.el7.x86_64
gtkmm30-3.22.2-1.el7.x86_64
nss-sysinit-3.67.0-4.el7_9.x86_64
#查询系统中某个软件包是否安装
[root@server ~ 14:02:06]# rpm -q httpd
httpd-2.4.6-99.el7.centos.1.x86_64
[root@server ~ 14:02:48]# rpm -q coreutils
coreutils-8.22-24.el7_9.2.x86_64#查询系统中某个已安装的软件包元数据信息
[root@server ~ 14:03:12]# rpm -q httpd -i
Name : httpd
Version : 2.4.6
Release : 99.el7.centos.1
Architecture: x86_64
Install Date: 2025年07月28日 星期一 14时14分27秒
Group : System Environment/Daemons
Size : 9829328
License : ASL 2.0
Signature : RSA/SHA256, 2023年05月30日 星期二 23时15分45秒, Key ID 24c6a8a7f4a80eb5
Source RPM : httpd-2.4.6-99.el7.centos.1.src.rpm
Build Date : 2023年05月30日 星期二 22时02分56秒
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://httpd.apache.org/
Summary : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.#查询系统中某个已安装的软件包包涵那些文件
[root@server ~ 14:03:52]# rpm -q openssh-server -l
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd
/usr/lib/systemd/system/sshd-keygen.service
/usr/lib/systemd/system/sshd.service
/usr/lib/systemd/system/sshd.socket
/usr/lib/systemd/system/sshd@.service
/usr/lib64/fipscheck/sshd.hmac
/usr/libexec/openssh/sftp-server
/usr/sbin/sshd
/usr/sbin/sshd-keygen
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz
/var/empty/sshd# 查询系统中某个已安装的软件包包涵哪些配置文件
[root@server ~ 14:04:35]# rpm -q openssh-server -c
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd# 查询系统中某个已安装的软件包包涵哪些文档文件
[root@server ~ 14:05:29]# rpm -q openssh-server -d
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz# 查询系统中某个某个文件属于哪个已安装的软件包
[root@centos7 ~14:05:30]# rpm -q -f /etc/ssh/sshd_config
openssh-server-7.4p1-22.el7_9.x86_64# 查询系统中某个已安装的软件包包涵的脚本
[root@server ~ 14:05:35]# rpm -q openssh-server --scripts
preinstall scriptlet (using /bin/sh):
getent group sshd >/dev/null || groupadd -g 74 -r sshd || :
getent passwd sshd >/dev/null || \useradd -c "Privilege-separated SSH" -u 74 -g sshd \-s /sbin/nologin -r -d /var/empty/sshd sshd 2> /dev/null || :
postinstall scriptlet (using /bin/sh):# 查询系统中某个已安装的软件包变更日志
[root@server ~ 14:06:19]# rpm -q openssh-server --changelog
* 四 9月 30 2021 Dmitry Belyavskiy <dbelyavs@redhat.com> - 7.4p1-22 + 0.10.3-2
- avoid segfault in Kerberos cache cleanup (#1999263)
- fix CVE-2021-41617 (#2008884)* 二 6月 25 2019 Jakub Jelen <jjelen@redhat.com> - 7.4p1-21 + 0.10.3-2
- Avoid double comma in the default cipher list in FIPS mode (#1722446)# 下载 httpd 软件包,以及依赖的其他软件包
[root@server ~ 14:16:33]# yum install httpd --downloadonly --downloaddir=rpms[root@server ~ 14:16:53]# ls -1 rpms
httpd-2.4.6-99.el7.centos.1.x86_64.rpm# 下载 httpd 软件包,以及依赖的其他软件包
[root@server ~ 14:17:05]# rpm -q -p rpms/httpd-2.4.6-99.el7.centos.1.x86_64.rpm -c
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.conf
# 查询系统中某个软件包组中包涵哪些软件包
[root@server ~ 14:17:39]# rpm -qg 'System Environment/Base'
grub2-common-2.02-0.87.0.1.el7.centos.9.noarch
centos-release-7-9.2009.1.el7.centos.x86_64
setup-2.8.71-11.el7.noarch
实例:
# 查看openssh-server软件安装是否有问题
[root@server ~ 14:31:13]# rpm -V openssh-server
S.5....T. c /etc/ssh/sshd_config
[root@server ~ 14:31:31]# sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
[root@server ~ 14:31:50]# rpm -V openssh-server
S.5....T. c /etc/ssh/sshd_config
[root@server ~ 14:31:54]# sed -i 's/PermitRootLogin no/PermitRootLogin yes/g' /etc/ssh/sshd_config
# 移走 /etc/ssh/sshd_config 文件,再次查看
[root@server ~ 14:32:17]# mv /etc/ssh/sshd_config .
[root@server ~ 14:32:44]# rpm -V openssh-server
遗漏 c /etc/ssh/sshd_config
提取 RPM 包中文件
Windows 提取
使用压缩工具(例如360压缩)打开rpm包,浏览和提取。
Linux 提取
[root@server ~ 14:33:33]# rm -f /etc/ssh/sshd_config
[root@server ~ 14:49:48]# repoquery --location openssh-server
http://mirrors.aliyun.com/centos/7/updates/x86_64/Packages/openssh-server-7.4p1-23.el7_9.x86_64.rpm
[root@server ~ 14:50:53]# wget http://mirrors.aliyun.com/centos/7/updates/x86_64/Packages/openssh-server-7.4p1-23.el7_9.x86_64.rpm[root@server ~ 14:51:09]# file openssh-server-7.4p1-23.el7_9.x86_64.rpm
openssh-server-7.4p1-23.el7_9.x86_64.rpm: RPM v3.0 bin i386/x86_64 openssh-server-7.4p1-23.el7_9# 将文件转换为cpio格式
[root@server ~ 14:51:36]# rpm2cpio openssh-server-7.4p1-23.el7_9.x86_64.rpm >openssh-server-7.4p1-23.el7_9.x86_64.cpio
[root@server ~ 14:52:25]# file openssh-server-7.4p1-23.el7_9.x86_64.
openssh-server-7.4p1-23.el7_9.x86_64.cpio
openssh-server-7.4p1-23.el7_9.x86_64.rpm
[root@server ~ 14:52:25]# file openssh-server-7.4p1-23.el7_9.x86_64.cpio
openssh-server-7.4p1-23.el7_9.x86_64.cpio: ASCII cpio archive (SVR4 with no CRC)
# 查询 cpio 格式(一种打包格式)文件中有哪些文件
[root@server ~ 14:52:48]# cpio -t < openssh-server-7.4p1-23.el7_9.x86_64.cpio
./etc/pam.d/sshd
./etc/ssh/sshd_config
./etc/sysconfig/sshd
./usr/lib/systemd/system/sshd-keygen.service
./usr/lib/systemd/system/sshd.service
./usr/lib/systemd/system/sshd.socket# 配置管道查询特定文件
[root@server ~ 14:53:35]# cpio -t < openssh-server-7.4p1-23.el7_9.x86_64.cpio | grep etc
1946 块
./etc/pam.d/sshd
./etc/ssh/sshd_config
./etc/sysconfig/sshd#-d
[root@server ~ 14:53:50]# cpio -id ./etc/ssh/sshd_config < openssh-server-7.4p1-23.el7_9.x86_64.cpio
1946 块
[root@server ~ 14:54:40]# mv etc/ssh/sshd_config /etc/ssh/
[root@server ~ 14:55:04]# systemctl res
rescue reset-failed restart
[root@server ~ 14:55:04]# systemctl restart sshd
方法二:一步提取所有文件
[root@centos7 ~]# rpm2cpio httpd-2.4.6-99.el7.centos.1.x86_64.rpm | cpio -id '*'
使用 yum 管理软件包
yum 介绍
- rpm 命令是一个管理软件包的工具,不适用于软件包存储库或自动解决来自多个源的依赖项。
- Yum(Yellowdog Updater Modified)旨在成为管理基于RPM的软件安装和更新的更好系统。yum命令允许安装,更新,删除和获取有关软件包及其依赖项的信息。
yum 命令
# 查看仓库中httpd包信息
[root@server ~ 14:55:19]# yum info httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
可安装的软件包
名称 :httpd
架构 :x86_64
版本 :2.4.6
发布 :99.el7.centos.1
大小 :2.7 M
源 :updates/7/x86_64
简介 : Apache HTTP Server
网址 :http://httpd.apache.org/
协议 : ASL 2.0
描述 : The Apache HTTP Server is a powerful, efficient,: and extensible web server.# 查看仓库中http开头的包有哪些
[root@server ~ 15:37:43]# yum list 'http*'
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
已安装的软件包
httpd-tools.x86_64 2.4.6-99.el7.centos.1 @updates
可安装的软件包
http-parser.i686 2.7.1-9.el7 base
http-parser.x86_64 2.7.1-9.el7 base
http-parser-devel.i686 2.7.1-9.el7 base # 查看仓库中httpd包有哪些版本
[root@server ~ 15:38:29]# yum list httpd --showduplicates
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
可安装的软件包
httpd.x86_64 2.4.6-95.el7.centos base
httpd.x86_64 2.4.6-97.el7.centos updates
httpd.x86_64 2.4.6-97.el7.centos.1 updates
httpd.x86_64 2.4.6-97.el7.centos.2 updates
httpd.x86_64 2.4.6-97.el7.centos.4 updates
httpd.x86_64 2.4.6-97.el7.centos.5 updates
httpd.x86_64 2.4.6-98.el7.centos.6 updates
httpd.x86_64 2.4.6-98.el7.centos.7 updates
httpd.x86_64 2.4.6-99.el7.centos.1 updates# 查看简介包含关键字的软件包
[root@server ~ 15:39:31]# yum search 'web server'
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com# 查看描述和简介包含关键字的软件包
[root@server ~ 15:40:27]# yum search all 'web server'
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
====================== 匹配:web server ======================
erlang-inets.x86_64 : A set of services such as a Web server: and a ftp client etc
ghc-warp.x86_64 : Fast light-weight web server for WAI: applications
mod_log_post.x86_64 : Module for the Apache web server to log: all HTTP POST messages
nginx.x86_64 : A high performance web server and reverse proxy: server
nikto.noarch : Web server scanner
pcp-pmda-weblog.x86_64 : Performance Co-Pilot (PCP) metrics: from web server logs
perl-PSGI.noarch : Perl Web Server Gateway Interface: Specification
perl-SOAP-WSDL-Apache.noarch : SOAP server with WSDL support: for Apache2 web server
python-tornado.x86_64 : Scalable, non-blocking web server and: tools
python36-tornado.x86_64 : Scalable, non-blocking web server: and tools
rubygem-thin.x86_64 : A thin and fast web server
tlssled.noarch : An evaluation tool for SSL/TLS (HTTPS) web: server implementations
webalizer.x86_64 : A flexible Web server log file analysis: program
xsp.x86_64 : A small web server that hosts ASP.NET
yawn-server.noarch : Standalone web server for yawn
yaws.x86_64 : Web server for dynamic content written in Erlang
Pound.x86_64 : Reverse proxy and load balancer# 查看仓库中哪个包可以提供文件sar程序
[root@server ~ 15:41:14]# yum provides sar
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
base/7/x86_64/filelists_db | 7.2 MB 00:01
epel/x86_64/filelists_db | 15 MB 00:03
extras/7/x86_64/filelists_db | 305 kB 00:00
updates/7/x86_64/filelists_db | 15 MB 00:04
sysstat-10.1.5-19.el7.x86_64 : Collection of performance: monitoring tools for Linux
源 :base
匹配来源:
文件名 :/usr/bin/sarsysstat-10.1.5-20.el7_9.x86_64 : Collection of performance: monitoring tools for Linux
源 :updates
匹配来源:
文件名 :/usr/bin/sarsysstat-10.1.5-19.el7.x86_64 : Collection of performance: monitoring tools for Linux
源 :@anaconda
匹配来源:
文件名 :/bin/sarsysstat-10.1.5-19.el7.x86_64 : Collection of performance: monitoring tools for Linux
源 :@anaconda
匹配来源:
文件名 :/usr/bin/sar#只下载不安装
[root@server ~ 15:43:24]# yum install vsftpd --downloadonly --downloaddir=/root/
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
正在解决依赖关系
[root@server ~ 15:43:52]# ls vsftpd-*
vsftpd-3.0.2-29.el7_9.x86_64.rpm# 安装本地文件系统中vsftpd包
[root@server ~ 15:44:23]# yum localinstall ./vsftpd-3.0.2-29.el7_9.x86_64.rpm
已加载插件:fastestmirror, langpacks
正在检查 ./vsftpd-3.0.2-29.el7_9.x86_64.rpm: vsftpd-3.0.2-29.el7_9.x86_64
./vsftpd-3.0.2-29.el7_9.x86_64.rpm 将被安装
# 降级vsftpd版本为3.0.2-28.el7
[root@server ~ 15:44:53]# yum downgrade -y vsftpd-3.0.2-28.el7
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile# 升级vsftpd版本为3.0.2-29.el7_9
[root@server ~ 15:45:34]# yum update vsftpd-3.0.2-29.el7_9
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile# 升级系统中所有软件为最新版本
[root@server ~ 15:45:59]# yum update # 卸载软件包
[root@server ~ 15:51:55]# yum remove httpd
配置 yum 仓库
yum 仓库配置
yum 工具的配置文件是 /etc/yum/yum.conf,该文件包括两部分:
- main,yum全局配置,提供每个仓库部分参数默认值。
- 每个仓库的独立配置。
[root@server ~ 15:59:55]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5[root@server ~ 16:29:28]# yum install -y yum-utils
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
软件包 yum-utils-1.1.31-54.el7_8.noarch 已安装并且是最新版本
无须任何处理[root@server ~ 16:30:25]# yum-config-manager
已加载插件:fastestmirror, langpacks
========================== main ===========================
[main]
alwaysprompt = True
assumeno = False
assumeyes = False
autocheck_running_kernel = True
autosavets = True
bandwidth = 0
bugtracker_url = http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
cache = 0
cachedir = /var/cache/yum/x86_64/7
check_config_file_age = True
clean_requirements_on_remove = False
color = auto
color_list_available_downgrade = dim,cyan
color_list_available_install = normal
color_list_available_reinstall = bold,underline,green
color_list_available_running_kernel = bold,underline
color_list_available_upgrade = bold,blue
color_list_installed_extra = bold,red
color_list_installed_newer = bold,yellow
color_list_installed_older = bold
main 部分需要关注的参数:
- enabled = 1,仓库默认启用。
- gpgcheck = 1,仓库默认启用gpg校验。
- keepcache = 0,不保存缓存。
- cachedir = /var/cache/yum,缓存文件保存的位置。
- reposdir = /etc/yum.repos.d, /etc/yum/repos.d, /etc/distro.repos.d,yum仓库配置文件。
yum管理的软件包存放在yum仓库,yum仓库配置文件存放在/etc/yum.repos.d目录。
[root@server ~ 16:30:52]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Sources.repo
CentOS-CR.repo CentOS-Vault.repo
CentOS-Debuginfo.repo CentOS-x86_64-kernel.repo
CentOS-fasttrack.repo epel.repo
CentOS-Media.repo
[root@server ~ 16:31:59]# ls /etc/yum.repos.d /etc/distro.repos.d
ls: 无法访问/etc/distro.repos.d: 没有那个文件或目录
/etc/yum.repos.d:
CentOS-Base.repo CentOS-Sources.repo
CentOS-CR.repo CentOS-Vault.repo
CentOS-Debuginfo.repo CentOS-x86_64-kernel.repo
CentOS-fasttrack.repo epel.repo
CentOS-Media.repo
yum 仓库管理
查看 yum 仓库
# 查看yum仓库,默认不包括未启用的仓库
[root@server ~ 16:32:28]# yum repolist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
源标识 源名称 状态
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.co 10,072
epel/x86_64 Extra Packages for Enterprise Linux 13,791
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun. 526
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun 6,173
repolist: 30,562# 查看yum所有仓库,包括未启用的仓库
[root@server ~ 16:33:01]# yum repolist all
启用和禁用仓库
[root@server ~ 16:33:41]# vim /etc/yum.repos.d/epel.repo
# 将enabled设置为1,设置为0禁用
enabled=1
仓库缓存管理
更新缓存后,yum install
命令可补全软件包名称
# 清理缓存数据
[root@server ~ 16:34:42]# yum clean
all dbcache headers packages
cache expire-cache metadata # 清理所有缓存数据
[root@server ~ 16:34:42]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: base epel epel-source extras updates
Cleaning up list of fastest mirrors# 创建缓存数据
[root@server ~ 16:36:07]# yum makecache
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
元数据缓存已建立
元数据缓存简单来说,就是将频繁访问的元数据临时存储在速度更快的存储介质中,以加快后续对这些元数据的访问速度,提升系统整体性能。它是应对元数据访问瓶颈的关键技术,在分布式系统、数据库等场景中应用广泛
添加 kubernetes 仓库
[root@server ~ 16:41:10]# yum-config-manager --add-repo=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
已加载插件:fastestmirror, langpacks
adding repo from: https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/[mirrors.aliyun.com_kubernetes_yum_repos_kubernetes-el7-x86_64_]
name=added from: https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1[root@server ~ 16:41:42]# cat /etc/yum.repos.d/mirrors.aliyun.com_kubernetes_yum_repos_kubernetes-el7-x86_64_.repo [mirrors.aliyun.com_kubernetes_yum_repos_kubernetes-el7-x86_64_]
name=added from: https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1# 安装 kubectl 包
[root@server ~ 16:41:55]# yum install kubectl --nogpgcheck已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com
添加 docker-ce 仓库
[root@server ~ 16:44:27]# cat << 'EOF' > /etc/yum.repos.d/docker-ce.repo
> [docker-ce-stable]
> name=Docker CE Stable - $basearch
> baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
> enabled=1
> gpgcheck=0
> EOF# 查看docker版本
[root@server ~ 16:45:02]# yum list docker-ce
源码安装软件
源码安装 nginx
介绍
Nginx是一个高性能的HTTP和反向代理web服务器。
# 安装依赖
[root@centos7 ~]# yum install gcc make pcre-devel zlib-devel # 下载
[root@centos7 ~]# wget https://nginx.org/download/nginx-1.24.0.tar.gz# 解压
[root@centos7 ~]# tar -xf nginx-1.24.0.tar.gz # 配置
[root@centos7 ~]# cd nginx-1.24.0/
[root@centos7 ~]# ./configure --prefix=/usr/local/nginx# 编译安装
[root@centos7 nginx-1.24.0]# make && make install
[root@centos7 ~]# ls /usr/local/nginx/
conf html logs sbin# 配置环境变量
[root@centos7 nginx-1.24.0]# export PATH=$PATH:/usr/local/nginx/sbin/
[root@centos7 nginx-1.24.0]# echo 'export PATH=$PATH:/usr/local/nginx/sbin/' >> ~/.bashrc#使用
# 启动服务
[root@centos7 ~]# nginx# 验证
[root@centos7 ~]# curl -s http://localhost | grep Thank
<p><em>Thank you for using nginx.</em></p>
命令总结:
- nginx,启动服务
- nginx -s quit,待nginx进程处理任务完毕进行停止。
- nginx -s stop,查出nginx进程id再使用kill命令强制杀掉进程。
- nginx -s reload,重新加载服务。
源码安装 cmatrix
#安装依赖包
[root@server ~ 19:02:32]# yum -y install gcc make autoconf ncurses-devel
#下载
[root@server ~ 19:03:27]# wget https://jaist.dl.sourceforge.net/project/cmatrix/cmatrix/1.2a/cmatrix-1.2a.tar.gz
#解压
[root@server ~ 19:05:26]# tar -xf cmatrix-1.2a.tar.gz
#配置软件
[root@server ~ 19:05:43]# cd cmatrix-1.2a/
[root@server cmatrix-1.2a 19:05:55]# ./configure --prefix=/usr/local/cmatrix
creating cache ./config.cache
#编译并安装
[root@server cmatrix-1.2a 19:06:29]# make && make install
#配置环境变量
[root@server cmatrix-1.2a 19:07:25]# export PATH=$PATH:/usr/local/cmatrix/bin
#运行
[root@server cmatrix-1.2a 19:07:51]# cmatrix
效果如上
自由调整速度
掉进程。
- nginx -s reload,重新加载服务。
源码安装 cmatrix
#安装依赖包
[root@server ~ 19:02:32]# yum -y install gcc make autoconf ncurses-devel
#下载
[root@server ~ 19:03:27]# wget https://jaist.dl.sourceforge.net/project/cmatrix/cmatrix/1.2a/cmatrix-1.2a.tar.gz
#解压
[root@server ~ 19:05:26]# tar -xf cmatrix-1.2a.tar.gz
#配置软件
[root@server ~ 19:05:43]# cd cmatrix-1.2a/
[root@server cmatrix-1.2a 19:05:55]# ./configure --prefix=/usr/local/cmatrix
creating cache ./config.cache
#编译并安装
[root@server cmatrix-1.2a 19:06:29]# make && make install
#配置环境变量
[root@server cmatrix-1.2a 19:07:25]# export PATH=$PATH:/usr/local/cmatrix/bin
#运行
[root@server cmatrix-1.2a 19:07:51]# cmatrix
[外链图片转存中…(img-Me2jMuBB-1753873932721)]
效果如上
自由调整速度
在 Cmatrix 运行的过程中,你可以按 0
到 9
的任何一位数字键来随意改变当前的更新速度。