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
的任何一位數字鍵來隨意改變當前的更新速度。