如何在linux上用yum/dnf管理软件包

2023-12-12 05:36

本文主要是介绍如何在linux上用yum/dnf管理软件包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本章主要介绍使用 yum 对软件包进行管理。
  • yum 的介绍
  • 搭建yum源
  • 创建私有仓库
  • yum客户端的配置
  • yum的基本使用
  • 使用第三方yum 源
使用rpm安装包时经常会遇到一个问题就是包依赖,如下所示。
[root@pp ~]# rpm -ivh /mnt/AppStream/Packages/httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64.rpm 
错误:依赖检测失败:httpd-filesystem 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要httpd-filesystem = 2.4.37-41.module+el8.5.0+11772+c8e0c271 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要httpd-tools = 2.4.37-41.module+el8.5.0+11772+c8e0c271 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要libapr-1.so.0()(64bit) 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要libaprutil-1.so.0()(64bit) 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要mod_http2 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要system-logos(httpd-logo-ng) 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要
[root@pp ~]# 
这里<tab>的意思是按【Tab】键。
所谓包依赖,就是在安装A时必须先把B和C安装上去。如果用rpm一个个安装是非常困难
的,这里可以使用dnf或yum命令来解决。yum命令其实是软链接到dnf命令上的,所以输
入yum或dnf都可以,后文都使用yum命令介绍。

24.1 yum架构介绍
为了便于理解,先看图24-1所示的例子。 可能我们经常会使用360软件管家管理软件包,在360服务器上有各种软件,在PC上的
360软件管家中搜索想要安装的软件,然后单击【安装】按钮,这样就可以把软件自动安装
到本地了,很方便。
yum的架构也是类似的,如图24-2所示

在服务器上存在某个目录中存储了大量的软件包,然后通过ftp或http把此目录共享出去,使
得客户端可以通过ftp或http能访问到此目录。
在服务器端所存储的这些软件包中,服务器是知道哪些包之间有依赖关系的,例如,A、
B、C三者之间存在依赖关系,所以当客户端发布一个请求说要安装A时,如图24-3所示。
此时发现A和B、C有依赖关系,所以客户端会把A、B、C三
者都从服务器下载到本机的缓存,然后再把这三个包一起给安装
上去。
如果假设A和B、C、X有依赖关系,但是X这个包并没有出现
在现在的这个源中,那么当客户端要安装A时,因为缺少了X,所
以安装是失败的。此时我们就需要在客户端上指定多个源,保
证所有的这些源中包含了所有需要的包,如图24-4所示。
因为客户端指定了两个源,所以当客户端发布一个请求说要
安装A时,此时从第一个源中检测到了需要的依赖包B、C,然
后从第二个源中找到了X,客户端就会把这四个包一起下载到本
地缓存中并进行安装。

24.2 用光盘搭建yum源
实验拓扑图如图24-5所示。 因为光盘中包括了最常用的软件包,所以现在就把光盘的
内容作为源,用vsftpd将光盘的内容共享出去。在rpm章节
已经将 vsftpd安装上去了,如果没有安装请按前面章节讲过
的内容自行安装好。
注意
下面的操作都是在server上做的。
修改letc/vsftpd/vsftpd.conf中的anonymous enable选项,如下所示。
由anonymous_enable=NO修改为anonymous_enable=YES,并添加如下命令。
1 pasv_min_port=10010
2 pasv_max_port=10020
保存退出并启动vsftpd,命令如下。
[root@pp ~]# systemctl enable vsftpd --now 
Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.
[root@pp ~]# 
如果已经启动过了,则通过systemctl restart vsftpd重启一下,使刚做的配置生效。
修改防火墙,命令如下。
[root@pp ~]# firewall-cmd --add-port=20-21/tcp --permanent
success
[root@pp ~]# firewall-cmd --add-port=10010-10020/tcp --permanent
success
[root@pp ~]# firewall-cmd --reload 
success
[root@pp ~]# 
设置 SELinux相关的布尔值,命令如下
[root@pp ~]# setsebool -P ftpd_full_access 1
[root@pp ~]# 
创建目录/var/ftp/dvd,然后把光盘挂载到此目录上,命令如下。
[root@pp ~]# mkdir /var/ftp/dvd
[root@pp ~]# mount /dev/cdrom /var/ftp/dvd
mount: /var/ftp/dvd: WARNING: device write-protected, mounted read-only.
[root@pp ~]# 
这样其他机器通过ftp访问/var/ftp/dvd时,访问的就是光盘中的内容了。设置开机自动
挂载,修改/etc/fstab,内容如下。
[root@pp ~]# grep ftp /etc/fstab 
/dev/cdrom /var/ftp/dev  defaults   iso9660 0 0   
[root@pp ~]# 
至此,服务器上的yum 源就已经配置好了

此时客户端不能直接把此目录作为源来使用,服务器是知道每个包和其他包之间的依赖关
系的,因为系统会把某个目录(包括子目录)中的rpm包的元数据信息放在repodata目录
中。
但是在/var/ftp/dvd中并没有repodata目录(不能单纯地用mkdir命令把此目录创建出
来,创建出来里面没有元数据是没用的),所以 /var/ftp/dvd并不能直接作为源来使用。先
来看AppStream目录的内容,命令如下。
[root@pp ~]# ls /var/ftp/dvd/AppStream/
Packages  repodata
[root@pp ~]# 
这里repodata是 AppStream下的目录,记录了AppStream目录下所有的rpm信息,此
处AppStream中所有的rpm都存储在Packages目录下了。repodata中的内容大概是这样 的
再来看BaseOS目录的内容,命令如下。
[root@pp ~]# ls /var/ftp/dvd/BaseOS/
Packages  repodata
[root@pp ~]# 
这里repodata是 BaseOS下的目录,记录了BaseOS目录下所有的rpm信息,此处
BaseOS中所有的rpm都存储在Packages目录下了。
总结:repodata目录中记录了repodata所在目录下所有的rpm信息,例如,BaseOS 下
的repodata 记录了BaseOS目录下所有的rpm信息。
所以,当前server上有两个源,分别是/var/ftp/dvd/AppStream
和/var/ftp/dvd/BaseOS。客户端要访问这两个源,分别通过
ftp://192.168.248.45/dvd/AppStream和 ftp://192.168.248.45/dvd/BaseOS 即可。

24.3 创建私有仓库
在server上利用光盘对外提供了两个源分别是/var/ftp/dvd/ AppStream和
/var/ftp/dvd/BaseOS,这两个源是光盘中自带的。下面练习如何创建一个自定义的源。
先配置server使用光盘作为源,在server (192.168.26.101这台机器)中把光盘挂载
到/mnt 上,并在/etc/fstab中设置开机自动挂载。
[root@pp ~]# tail -1 /etc/fstab 
/dev/cdrom /var/ftp/dev  defaults   iso9660 0 0   
[root@pp ~]# 
这样访问/mnt时访问的就是光盘了。创建/etc/yum.repos.d/aa.repo的内容如下。
[root@pp ~]# cat /etc/yum.repos.d/aa.repo 
[aa]
name=aa
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0[bb]
name=bb
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0
[root@pp ~]# 
需要注意的是,这里file:后面是3个/,file:是类似于http;/l、ftp:;这样的写法,第三个/表
示的是绝对路径。
通过yum install安装createrepo工具包,命令如下。
[root@pp ~]# yum -y install createrepo
正在更新 Subscription Management 软件仓库。
关于yum install 命令会在24.5.2小节中讲,然后创建一个目录/var/ftp/myrepo,命令如
下。
[root@pp ~]# mkdir /var/ftp/myrepo
[root@pp ~]# 
从光盘中拷贝一个测试用的安装包,这里就选择vsftpd的安装包。拷贝 vsftpd到
/var/ftplmyrepo中,命令如下。
[root@pp ~]# cp /mnt/AppStream/Packages/vsftpd-3.0.3-34.el8.x86_64.rpm /var/ftp/myrepo/
[root@pp ~]# 
现在/var/ftp/myrepo中包含了一个 vsftpd的安装包,命令如下。
通过createrepo工具包对/var/ftp/myrepo进行操作,命令如下。
[root@pp ~]# createrepo -v /var/ftp/myrepo/
20:10:45: Version: 0.17.2 (Features: DeltaRPM LegacyWeakdeps )
20:10:45: Signal handler setup
这里生成了repodata,里面包含了/var/ftp/myrepo中所有的rpm包(这里就一个
vsftpd)的信息,那么/var/ftp/myrepo也可以作为一个源来使用了。
24.4 yum客户端的配置
客户端要安装软件包必须指定使用哪些源,在客户端上指定源的方法是在目
录/etc/yum.repos.d中创建后缀是repo的文件。文件名是什么无所谓,但后缀必须是
repo,格式如下。
1 [名称] ‐‐‐‐用于标注不同的源
2 name= ‐‐‐‐注释信息
3 baseurl= ‐‐‐‐指定源的URL地址
4 enabled= ‐‐‐用于指定是否启用这个源,值有0和1
5 0‐‐‐不使用这个源
6 1‐‐‐使用这个源
7 enabled也可以写成enable
8 gpgcheck= ‐‐‐‐用于指定安装的软件包是否要进行数字签名的验证,值有0和1
9 0‐‐不对每个安装包进行数字签名验证
10 1‐‐对每个包做数字签名的验证
11 gpgkey=/path/如果上面 gpgcheck的值设置为1,需要使用此选项指定公钥;如果上面gp
gcheck的值设置为0,这个选项可以不写。
在服务器端已经配置了两个源,下面配置客户端让其能使用这两个源,
在/etc/yum.repos.d中创建aa.repo,内容如下。
[root@up ~]# cat /etc/yum.repos.d/aa.repo 
[aa]
name=aa
baseurl=file:///dvd/AppStream
enabled=1
gpgcheck=0[bb]
name=bb
baseurl=file:///dvd/BaseOS
enabled=1
gpgcheck=0[root@up ~]# 
这里在aa.repo中配置了两个源,分别标记为aa和 bb。可以把多个源写在同一个repo文
件中,也可以把多个源写在不同的repo文件中。
当通过ftp://192.168.8.11来访问服务器时,访问的是服务器的/var/ftp目录,千万不要写
成ftp://192.168.26.101/var/ftp了,否则对应的就是服务器的/var/ftp/var/tp目录了。
ftp://192.168.8.11/dvd对应的是服务器的/var/ftp/dvd目录,但是这个不能作为源,因
为/var/ftp/dvd下没有对应的repodata目录记录/var/ftp/dvd中的 rpm信息。
因为rpm包都是存储在Packages中的,所以有人可能说我怕系统找不到软件包,所以写
成baseurl=ftp:/192.168.26.101/dvd/BaseOS/Packages行不行?答案是不行的,你不用担
心系统找不到rpm在哪里。写成baseurl=ftp://192.168.26.100/dvd/BaseOS,会通过读取
它的子目录repodata中的数据从而知道rpm在哪个目录中。
此时/etc/yum.repos.d中的文件如下。
[root@up ~]# ls /etc/yum.repos.d/
aa.repo  redhat.repo
[root@up ~]# 
这里/etclyum.repos.d下面的redhat.repo是系统自动生成的可以不用管,删除不删除都
无所谓。
server2通过ftp访问server上的源。如果想直接使用本地光盘作为yum源,那么可以把光
盘挂载到某个目录上,然后直接使用此目录作为源。
24.5 yum的基本使用
通过yum repolist查看当前正在使用的源,命令如下。
[root@up ~]# yum repolist 
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。仓库 id                                             仓库名称
aa                                                  aa
bb                                                  bb
[root@up ~]# 
如果/etc/yum.repos.d/aa.repo的内容发生了改变,需要用yum clean all 命令清空一下
缓存,命令如下。
[root@up ~]# yum clean all 
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。0 文件已删除
重新创建缓存数据用yum makecache命令,命令如下。
[root@up ~]# yum makecache 
这步不是必需的,即使不重新创建缓存数据,当我们下次使用yum时也会自动创建。
24.5.1 查询
想查询yum源中是否存在某个包,可以通过 yum search或 yum list来查询。例如,要查
询lrzsz这个包,命令如下。
[root@up ~]# yum search lrzsz
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。aa                                                                 102 MB/s | 7.2 MB     00:00    
bb                                                                  95 MB/s | 2.4 MB     00:00    
上次元数据过期检查:0:00:01 前,执行于 2023年12月11日 星期一 12时22分37秒。
====================================== 名称 精准匹配:lrzsz =======================================
lrzsz.x86_64 : The lrz and lsz modem communications programs
[root@up ~]# 
也就是yum search后面跟的包名可以不是完整的包名,但是这个命令查询的结果无法判
断这个包在系统上是否安装。可以使用yum list命令查看包是否已经安装,命令如下。
[root@up ~]# yum list lrzsz
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查:0:01:00 前,执行于 2023年12月11日 星期一 12时22分37秒。
可安装的软件包
lrzsz.x86_64                                   0.12.20-43.el8                                    bb
[root@up ~]# 

24.5.2 安装与卸载软件包
安装软件包用“yum install 包名”命令,现在安装 lrzsz,命令如下。
[root@up ~]# yum -y install lrzsz
不管是安装还是卸载,每次安装(或卸载)时都会询问,如果不想被询问,可以加上y选
项,y加在下面1、2、3的位置都可以。
1 yum 1 install 2 包名 3
卸载软件包用“yum remove 包名”命令,现在把 Irzsz卸载掉,命令如下。
[root@up ~]# yum -y remove lrzsz
这样就把lrzsz卸载了。下面查看系统中是否还有Irzsz,命令如下。
[root@up ~]# rpm -qa | grep lrzsz
[root@up ~]# 
查询包的信息用“yum info包名”命令
[root@up ~]# yum info lrzsz.x86_64 
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查:0:04:45 前,执行于 2023年12月11日 星期一 12时22分37秒。
可安装的软件包
名称         : lrzsz
版本         : 0.12.20
发布         : 43.el8
架构         : x86_64
大小         : 84 k
源           : lrzsz-0.12.20-43.el8.src.rpm
仓库         : bb
概况         : The lrz and lsz modem communications programs
URL          : http://www.ohse.de/uwe/software/lrzsz.html
协议         : GPLv2+
描述         : Lrzsz (consisting of lrz and lsz) is a cosmetically modified: zmodem/ymodem/xmodem package built from the public-domain version of: the rzsz package. Lrzsz was created to provide a working GNU: copylefted Zmodem solution for Linux systems.[root@up ~]# 

24.5.3 下载
使用yum 安装软件包时,先把要安装的软件包及所依赖的包都下载到本地缓存中,然后
再一起安装。如果只想把这些包下载下来并不安装,可以使用--downloadonly和--
downloaddir=/dir选项,其中--downloadonly 只让yum把软件包下载下来并不执行安装
操作,下载到哪个目录由--downloaddir来指定。
现在想把 httpd及其依赖的包全部下载到/xx目录,首先创建/xx目录,命令如下。
[root@up ~]# mkdir /xx
[root@up ~]# yum -y install httpd --downloadonly --downloaddir=/xx
[root@up ~]# ls /xx/
apr-1.6.3-12.el8.x86_64.rpm
apr-util-1.6.1-6.el8.x86_64.rpm
apr-util-bdb-1.6.1-6.el8.x86_64.rpm
apr-util-openssl-1.6.1-6.el8.x86_64.rpm
httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64.rpm
httpd-filesystem-2.4.37-41.module+el8.5.0+11772+c8e0c271.noarch.rpm
httpd-tools-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64.rpm
mod_http2-1.15.7-3.module+el8.4.0+8625+d397f3da.x86_64.rpm
redhat-logos-httpd-84.5-1.el8.noarch.rpm
[root@up ~]# 
24.5.4 查询缺失命令
有时想执行某个命令时却发现系统中并没有此命令,如下所示。
[root@up ~]# smbclient -L //192.168.248.22
bash: smbclient: 未找到命令...
安装软件包“samba-client”以提供命令“smbclient”? [N/y] N[root@up ~]# 
24.6 组的使用
前面安装软件包时都是一个个安装的,假设现在想在服务器上实现某个“功能”,这
个“功能”需要很多个包,但是不清楚需要安装哪些包,怎么办?可以利用yum中的group功
能,用yum grouplist命令查询系统中一共有多少组,命令如下。
[root@up ~]# yum grouplist
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查:12:51:29 前,执行于 2023年12月11日 星期一 12时22分37秒。
可用环境组:服务器最小安装工作站虚拟化主机定制操作系统
已安装的环境组:带 GUI 的服务器
已安装组:容器管理无头系统管理
可用组:.NET 核心开发RPM 开发工具开发工具图形管理工具传统 UNIX 兼容性网络服务器科学记数法支持安全性工具智能卡支持系统工具
[root@up ~]# 
这里显示的可用组是系统没有安装或组中的包没有安装全,已安装组说明这个组是已经安
装过的。如果要查看某个组的信息,可以用“yum groupinfo组名”命令。例如,现在要查
看虚拟化主机这个组的信息,命令如下。
[root@up ~]# yum groupinfo 虚拟化主机
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查:12:52:22 前,执行于 2023年12月11日 星期一 12时22分37秒。
环境组:虚拟化主机描述:最小虚拟化主机。必选软件包组:BaseCoreStandardVirtualization HypervisorVirtualization Tools可选软件包组:Debugging ToolsNetwork File System ClientRemote Management for LinuxVirtualization Platform
[root@up ~]# 
可以通过“yum groupinstall 组名”来安装某个组。例如,要安装虚拟化功能,就
把“虚拟化主机”这个组安装上去,命令如下。
[root@up ~]# yum groupinfo 虚拟化主机 -y
这样就把需要的组安装完成了。如果卸载,用“yum groupremove 组名”命令即可。
24.7 使用第三方yum源
对于server2来说,通过ftp可以访问server上光盘中的包。但是有许多包在光盘中并没
有,例如,要安装ansible,命令如下。
[root@up ~]# yum list ansible
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查:12:53:26 前,执行于 2023年12月11日 星期一 12时22分37秒。
错误:没有匹配的软件包可以列出
[root@up ~]# 
可以看到,光盘中并没有ansible这个包,所以此时要使用第三方的yum源。对于CentOS
或RHEL来说,最常用的源就是epel了,下面演示如何给server2添加 epel源。
先安装epel安装包,命令如下。
[root@server2 ~]# yum -y install https://mirrors.aliyun.com/epel/epel-release-latest-
8.noarch.rpm
下面再次执行yum list ansible命令,命令如下。
[root@up ~]# yum list ansible
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。Extra Packages for Enterprise Linux 8 - x86_64                     741 kB/s |  16 MB     00:22    
上次元数据过期检查:0:00:08 前,执行于 2023年12月12日 星期二 01时20分16秒。
可安装的软件包
ansible.noarch                                   8.3.0-1.el8                                   epel
[root@up ~]# 
可以看到,此时server2所使用的源中已经有ansible了。

这篇关于如何在linux上用yum/dnf管理软件包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/483412

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n