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 
* 四 930 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)* 二 625 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 运行的过程中,你可以按 09 的任何一位数字键来随意改变当前的更新速度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/91679.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/91679.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/91679.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Vue 3.0 Composition API 优化流程设计器界面

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…

2025Nacos安装Mac版本 少走弯路版本

https://github.com/alibaba/nacos 一开始看网上文章&#xff0c;随便下了一个最新的3.0.2&#xff0c;然后出现很多错误 密钥等等问题&#xff0c;最后启动了&#xff0c;但是打不开链接&#xff1a;http://localhost:8848/nacos 然后开始找问题日志&#xff0c;/.nofollow/…

sifu mod制作 相关经验

sifu mod制作一遍流程数据传递后拆开是ok的&#xff0c;没必要合并 断片不能使用原材质不然导入ue里没法片段选择 效果拔群 带自动权重就会有跟随骨骼的效果&#xff0c;空顶点组会跟随父级的原点 这个选负的会抵消胶囊的碰撞效果 应用并刷新布料模拟&#xff08;相当于工程图的…

论文精读笔记:Overview

本文档记录了一些经典论文的讲解笔记。 重读经典&#xff1a;《ImageNet Classification with Deep Convolutional Neural Networks》 重读经典&#xff1a;《Generative Adversarial Nets》 重读经典&#xff1a;《Deep Residual Learning for Image Recognition》 重读经典…

Elasticsearch+Logstash+Filebeat+Kibana单机部署

目录 一、配置准备 下载java&#xff0c;需要java环境 二、单机模式 ELK部署 修改域名解析 elasticsearch配置 启动elasticsearch服务 查看是否启用 查看监听端口 logstash服务 创建配置文件 kibana 启动服务kebana 验证 网页访问 ​编辑 生成图表 回到网页 一、配置准…

redis快速部署、集成、调优

redis快速部署、集成、调优 1.部署 1.1 docker部署 参考&#xff1a;https://blog.csdn.net/taotao_guiwang/article/details/135508643 1.2 redis部署 资源见&#xff0c;百度网盘&#xff1a;https://pan.baidu.com/s/1qlabJ7m8BDm77GbDuHmbNQ?pwd41ac 执行redis_insta…

大学生HTML期末大作业——HTML+CSS+JavaScript音乐网站

HTMLCSSJS【音乐网站】网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计&#x1f4a5; 文章目录一、&#x1f3c1; 网站题目二、&#x1f6a9; 网站描述三、&#x1f38c; 网站介绍四、&#x1f3f4; 网站效果五、&#x1f3f3;️ 网站代码六、&#x1f3f3…

ARP协议是什么?ARP欺骗是如何实现的?我们该如何预防ARP欺骗?

ARP&#xff08;Address Resolution Protocol&#xff0c;地址解析协议&#xff09;是一个工作在数据链路层&#xff08;OSI第二层&#xff09;和网络层&#xff08;OSI第三层&#xff09;之间的基础网络协议&#xff0c;它的核心功能是将网络层地址&#xff08;IP地址&#xf…

一个物理引擎仿真器(mujoco这种)的计算流程

物理仿真的核心循环 一个典型的物理仿真引擎&#xff0c;在每一个时间步&#xff08;dt&#xff09;内&#xff0c;大致会执行以下流程&#xff1a; 确定当前状态 (State)&#xff1a;获取所有物体当前的位置 q 和速度 v。计算力 (Forces)&#xff1a;根据当前状态&#xff0c;…

自然语言处理NLP(3)

上文&#xff1a; 自然语言处理NLP&#xff08;1&#xff09; 自然语言处理NLP&#xff08;2&#xff09; Gated RNN & LSTM 简单RNN存在的问题 随着时间的回溯&#xff0c;简单RNN不能避免梯度消失或者梯度爆炸 梯度裁剪 用来解决梯度爆炸问题 code: g&#xff1a;所有参…

内循环全部满足条件后,为true

### 实现方式在 C 中&#xff0c;可以通过在内循环外部定义一个布尔变量&#xff0c;并在内循环的每次迭代中检查特定条件是否满足。如果所有迭代均满足条件&#xff0c;则在内循环结束后将布尔变量设置为 true。以下是一个示例代码&#xff1a;cpp #include <iostream>i…

STM32--DHT11(标准库)驱动开发

一、前言在我们进行嵌入式开发时&#xff0c;驱动开发也是十分重要的一步&#xff0c;在很多时候&#xff0c;我们的都需要自己来编写硬件的底层驱动&#xff0c;实现硬件与芯片的通信&#xff0c;常见的协议有SPI&#xff0c;IIC&#xff0c;以及单总线的一些通信方式&#xf…

HttpServletRequest 和 HttpServletResponse核心接口区别

HttpServletRequest 和 HttpServletResponse核心接口区别在 Java Web 开发&#xff08;基于 Servlet 规范&#xff09;中&#xff0c;HttpServletRequest 和 HttpServletResponse 是两个核心接口&#xff0c;分别代表 ​​HTTP 请求​​ 和 ​​HTTP 响应​​。它们的主要区别在…

win10 环境删除文件提示文件被使用无法删除怎么办?

因为我没想太好怎么模拟一个文件被使用&#xff0c;我就使用 "java -jar xxx.jar" 模拟 xxx.jar 文件被使用无法删除吧。现在有一个后台进行在执行 java -jar chat-robot-1.0.0.jar &#xff0c;所以此时删除 chat-robot-1.0.0.jar 提示&#xff1a;当然这个提示对于…

1.7vue生命周期

生命周期阶段与钩子函数创建阶段beforeCreate()&#xff1a;实例初始化之后&#xff0c;数据观测和事件配置之前调用。此时无法访问到data、methods等属性。created()&#xff1a;实例创建完成后调用。完成了数据观测&#xff0c;属性和方法的运算&#xff0c;watch/event事件回…

第十八天(指纹识别WAF判断蜜罐排除)

Web架构 开源CMS&#xff1a; Discuz、WordPress、PageAdmin、蝉知等 前端技术&#xff1a; HTML5、Jquery、Bootstrap、Vue、NodeJS等 开发语言&#xff1a; PHP、JAVA、Ruby、Python、C#、JS、Go等 框架组件&#xff1a; SpringMVC、Thinkphp、Yii、Tornado、Vue等 Web服…

Real-Time Rendering 4th Edition 完整学习路径

课程计划&#xff1a;Real-Time Rendering 4th Edition 完整学习路径 &#x1f4da;⚡ 阶段一&#xff1a;数学基础巩固 (2-3周) &#x1f9ee;向量与矩阵运算 3D变换矩阵的本质理解齐次坐标系统的实际意义几何数学 点、线、面的几何关系法向量与切向量计算三角函数在图形学中的…

MC0364魔法链路

码蹄集OJ-魔法链路 MC0364・魔法链路 难度&#xff1a;黄金 时间限制&#xff1a;1 秒 占用内存&#xff1a;256 M 收藏 报错 小码妹学会了多重施法&#xff0c;也就是同时施放多个法术的能力&#xff0c;然而多重施法中每个最终施放的法术都需要一些前置的法力运转&#xff…

《解密React key:虚拟DOM Diff中的节点身份锚点》

在React的性能优化体系中&#xff0c;key属性始终是一个看似简单却暗藏玄机的存在。它并非可有可无的标记&#xff0c;而是虚拟DOM Diff算法识别节点身份的核心锚点&#xff0c;直接决定着React如何判断节点是否需要重渲染、如何复用已有元素。理解key的本质&#xff0c;不仅能…

react 和 react native 的开发过程区别

React 和 React Native 虽然都使用 React 思想和语法&#xff08;函数组件、Hooks、JSX 等&#xff09;&#xff0c;但在 开发流程、渲染机制、UI 组件、样式处理、运行平台 等方面有明显差异。以下是对比总结&#xff1a;✅ 一、开发目的和平台不同对比项ReactReact Native应用…