1、rpm软件包
1、介绍
RPM全名RedHat Package Manager,rpm最早是由redhat开发出来,最大的特点就是把需要安装的软件提前编译,打包,并且在rpm包里面存放了用以记录软件依赖关系的相关数据。当用户安装时,优先查看这些数据,如果系统满足要求就会执行安装,否则不能安装。安装完成后,将软件包相关信息记录到rpm自己的数据库中,便于查询和卸载等。所以rpm的优点是方便安装,卸载,查询,缺点就是只能在指定的操作系统上使用,所以不同厂商的rpm包,甚至同一厂商不同版本操作系统的rpm包都不通用。
注:常见的Linux系统ubuntu系统不是基于RH的系统,而是基于debin系统,其软件包是apt格式。文章源自今夕何夕兮-https://www.ginc.site/share1262.html
2、命名
例:dhcp-server-4.4.2-19.b1.el9.x86_64.rpm
其中:文章源自今夕何夕兮-https://www.ginc.site/share1262.html
dhcp-server:软件名称,4.4.2:软件版本,-19.b1:编译次数,el9:适用系统文章源自今夕何夕兮-https://www.ginc.site/share1262.html
x86_64:适用平台,.rpm:后缀文章源自今夕何夕兮-https://www.ginc.site/share1262.html
附:rpm软件包下载网站文章源自今夕何夕兮-https://www.ginc.site/share1262.html
https://pkgs.org/
文章源自今夕何夕兮-https://www.ginc.site/share1262.html
3、使用
命令文章源自今夕何夕兮-https://www.ginc.site/share1262.html
rpm [选项] 软件包名称
命令选项文章源自今夕何夕兮-https://www.ginc.site/share1262.html
-i 安装 -v 显示详细信息 -h 显示安装进度 -e 卸载 -U 升级,如果系统中有低版本的就会升级,如果系统没有安装相应的包,则安装 -F 有条件的升级,会检测用户指定的软件包是否已安装到linux中 --nodeps 忽略软件包之间的依赖关系 --replacefiles 覆盖文件 --replacepkgs 修复 --force 强制 --test 测试 -q 查询指定的软件包是否安装 -qi 查看指定的软件包的信息,包括开发商,版本,说明 -ql 查看指定软件包中所包含的文件列表 -qc 查看指定软件包的配置文件 -qa 查看本机安装的所有包 -qf 查看一个文件归属于哪个已安装的软件包
2、yum软件包
1、介绍
yum(Yellow dog Updater, Modified)是一个rpm的管理工具, yum仓库存储了大量的rpm软件包,通过FTP|HTTP|HTTPS|FILE方式共享软件包。可以更轻松的管理Linux系统中的软件。可以使用yum来安装或卸载软件、也可以利用yum来更新系统。不管是安装、更新或者删除,yum都会自动解决软件间的依赖性问题。文章源自今夕何夕兮-https://www.ginc.site/share1262.html
2、配置yum源
在CentOS8中yum的下载源配置文件统一都放到/etc/yum.repos.d/目录中,都是默认的下载源。文章源自今夕何夕兮-https://www.ginc.site/share1262.html
[root@Ginc ~]# cd /etc/yum.repos.d/ [root@Ginc yum.repos.d]# ls CentOS-Linux-AppStream.repo CentOS-Linux-Devel.repo CentOS-Linux-Media.repo CentOS-Linux-BaseOS.repo CentOS-Linux-Extras.repo CentOS-Linux-Plus.repo CentOS-Linux-ContinuousRelease.repo CentOS-Linux-FastTrack.repo CentOS-Linux-PowerTools.repo CentOS-Linux-Debuginfo.repo CentOS-Linux-HighAvailability.repo CentOS-Linux-Sources.repo
新建一个名为repos的文件夹
[root@Ginc yum.repos.d]# mkdir repos
[root@Ginc yum.repos.d]# ls
CentOS-Linux-AppStream.repo CentOS-Linux-Devel.repo CentOS-Linux-Media.repo repos
CentOS-Linux-BaseOS.repo CentOS-Linux-Extras.repo CentOS-Linux-Plus.repo
CentOS-Linux-ContinuousRelease.repo CentOS-Linux-FastTrack.repo CentOS-Linux-PowerTools.repo
CentOS-Linux-Debuginfo.repo CentOS-Linux-HighAvailability.repo CentOS-Linux-Sources.repo
进入repos文件夹,为避免干扰,新建的文件都放到新建的repos文件夹里
[root@Ginc yum.repos.d]# cd repos [root@Ginc repos]#
使用vim命令建立自己的下载源配置文件
[root@Ginc repos]# vim ginc.repo
在新建的文件添加下面代码
[Ginc] //yum源的名称 name=ginc-BaseOS enabled=1 gpgcheck=0 baseurl= http://example.com/myrepo/ [server-AppStream] name=server-AppStream enabled=1 gpgcheck=0 baseurl=http://example.com/myrepo/
[Ginc]是软件源的标识符,name是软件源的名称,baseurl是软件源的URL地址,enabled表示是否启用该软件源(1表示启用,0表示禁用),gpgcheck表示是否进行GPG签名检查(0表示不检查,1表示检查)。你可以根据自己的需求修改这些参数。
由于CentOS8的软件包存放在BaseOS和AppStream目录中,所以这里面为了保证需要的软件包能正确安装我们配置了两个yum源,这两部分内容你可以放到一个文件里,也可以分别放在两个文件中。
3、使用
1、安装
命令
yum install <package-name>
2、更新
yum update --disablerepo=* --enablerepo=Ginc
只想更新新创建的软件源中的软件包
3、源码包
在linux系统中,很多软件都会提供tar包版本,这种tar工具打包的软件包我们一般称之为源码包,在这些源码包中一般包含有,程序源代码文件,配置文件(configure),安装使用说明。
下面演示完整源码包安装流程:以nginx为例
https://nginx.org/en/download.html
1、获取软件包
wget https://nginx.org/download/nginx-1.24.0.tar.gz
可以看到下面执行结果
[root@Ginc repos]# cd ~ [root@Ginc ~]# wget https://nginx.org/download/nginx-1.24.0.tar.gz --2025-01-15 06:36:26-- https://nginx.org/download/nginx-1.24.0.tar.gz 正在解析主机 nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:5c0:2601::6, ... 正在连接 nginx.org (nginx.org)|3.125.197.172|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:1112471 (1.1M) [application/octet-stream] 正在保存至: “nginx-1.24.0.tar.gz” nginx-1.24.0.tar.gz 100%[=======================================================>] 1.06M 1.37MB/s 用时 0.8s 2025-01-15 06:36:28 (1.37 MB/s) - 已保存 “nginx-1.24.0.tar.gz” [1112471/1112471])
2、解压
[root@Ginc ~]# tar xf nginx-1.24.0.tar.gz [root@Ginc ~]# ls anaconda-ks.cfg initial-setup-ks.cfg nginx-1.24.0 nginx-1.24.0.tar.gz [root@Ginc ~]#
3、检查安装需求
[root@Ginc nginx-1.24.0]# ./configure --prefix=/usr/local/nginx checking for OS + Linux 4.18.0-348.el8.x86_64 x86_64 checking for C compiler ... found + using GNU C compiler + gcc version: 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC) checking for gcc -pipe switch ... found checking for -Wl,-E switch ... found ........................... Configuration summary + using system PCRE library + OpenSSL library is not used + using system zlib library nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx modules path: "/usr/local/nginx/modules" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/usr/local/nginx/logs/nginx.pid" nginx error log file: "/usr/local/nginx/logs/error.log" nginx http access log file: "/usr/local/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp"
4、编译
使用gcc编译,生成二进制文件
[root@Ginc nginx-1.24.0]# make -j4 make -f objs/Makefile make[1]: 进入目录“/root/nginx-1.24.0” cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \ -o objs/src/core/ngx_inet.o \ src/core/ngx_inet.c ...........省略过程
5、安装
[root@Ginc nginx-1.24.0]# make install make -f objs/Makefile install make[1]: 进入目录“/root/nginx-1.24.0” test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx' test -d '/usr/local/nginx/sbin' \ || mkdir -p '/usr/local/nginx/sbin' test ! -f '/usr/local/nginx/sbin/nginx' \ || mv '/usr/local/nginx/sbin/nginx' \ '/usr/local/nginx/sbin/nginx.old' cp objs/nginx '/usr/local/nginx/sbin/nginx' test -d '/usr/local/nginx/conf' \ || mkdir -p '/usr/local/nginx/conf' cp conf/koi-win '/usr/local/nginx/conf' cp conf/koi-utf '/usr/local/nginx/conf' cp conf/win-utf '/usr/local/nginx/conf' test -f '/usr/local/nginx/conf/mime.types' \ || cp conf/mime.types '/usr/local/nginx/conf' cp conf/mime.types '/usr/local/nginx/conf/mime.types.default' test -f '/usr/local/nginx/conf/fastcgi_params' \ || cp conf/fastcgi_params '/usr/local/nginx/conf' cp conf/fastcgi_params \ '/usr/local/nginx/conf/fastcgi_params.default' test -f '/usr/local/nginx/conf/fastcgi.conf' \ || cp conf/fastcgi.conf '/usr/local/nginx/conf' cp conf/fastcgi.conf '/usr/local/nginx/conf/fastcgi.conf.default' test -f '/usr/local/nginx/conf/uwsgi_params' \ || cp conf/uwsgi_params '/usr/local/nginx/conf' cp conf/uwsgi_params \ '/usr/local/nginx/conf/uwsgi_params.default' test -f '/usr/local/nginx/conf/scgi_params' \ || cp conf/scgi_params '/usr/local/nginx/conf' cp conf/scgi_params \ '/usr/local/nginx/conf/scgi_params.default' test -f '/usr/local/nginx/conf/nginx.conf' \ || cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf' cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default' test -d '/usr/local/nginx/logs' \ || mkdir -p '/usr/local/nginx/logs' test -d '/usr/local/nginx/logs' \ || mkdir -p '/usr/local/nginx/logs' test -d '/usr/local/nginx/html' \ || cp -R html '/usr/local/nginx' test -d '/usr/local/nginx/logs' \ || mkdir -p '/usr/local/nginx/logs' make[1]: 离开目录“/root/nginx-1.24.0”
到此我们就把nginx安装到/usr/local目录下了,可以使用ls命令看看有没有东西
[root@Ginc nginx-1.24.0]# ls /usr/local/nginx/
6、验证
启动软件
[root@Ginc nginx-1.24.0]# /usr/local/nginx/sbin/nginx
查看nginx状态
[root@Ginc ~]# sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2025-01-15 07:06:26 EST; 3s ago
Process: 150388 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 150387 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 150385 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 150390 (nginx)
Tasks: 3 (limit: 11252)
Memory: 9.9M
CGroup: /system.slice/nginx.service
├─150390 nginx: master process /usr/sbin/nginx
├─150391 nginx: worker process
└─150392 nginx: worker process
1月 15 07:06:26 Ginc systemd[1]: Starting The nginx HTTP and reverse proxy server...
1月 15 07:06:26 Ginc nginx[150387]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
1月 15 07:06:26 Ginc nginx[150387]: nginx: configuration file /etc/nginx/nginx.conf test is successful
1月 15 07:06:26 Ginc systemd[1]: Started The nginx HTTP and reverse proxy server.
打开虚拟机浏览器输入:
http://localhost
看到下面界面,说明nginx安装成功。
转载请注明来自:今夕何夕兮
本站原创内容版权遵循 CC-BY-NC-SA4.0 协议授权,本站部分资源收集于网络,只做学习和交流使用,版权归原作者所有。

中国–山东–青岛 1F
日常来访2