目录
(图像由AI生成)
0.前言
在前面的章节中,我们详细介绍了Linux的基本指令和权限管理,这为我们理解和操作Linux系统打下了坚实的基础。接下来,我们将继续深入探讨Linux系统中的重要组成部分——软件包管理器yum。yum(Yellowdog Updater, Modified)是一个开源的、基于RPM的软件包管理工具,它不仅能够简化软件的安装、更新和删除过程,还可以自动解决软件包之间的依赖关系,极大地方便了系统管理员和开发人员的日常工作。本节内容将在CentOS 7.6版本的操作系统和shell 7软件环境中进行展示,旨在帮助读者熟悉和掌握yum的基本使用方法,提高在Linux系统中管理软件包的效率和能力。无论是初学者还是有经验的Linux用户,都能从中获得有益的知识和实用的技巧。
1.什么是软件包
在Linux系统中,软件包(Package)是指包含特定应用程序或功能模块的压缩文件,这些文件通常包括可执行文件、配置文件、库文件以及相关文档。安装软件包可以显著简化软件的安装和管理过程。在Linux下安装软件,一个常见的方法是下载程序的源代码,并进行编译,得到可执行程序。
但是,这种方法太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成Windows上的安装程序)放在一个服务器上。通过包管理器可以很方便地获取到这个编译好的软件包,直接进行安装。软件包和软件包管理器,就好比“App”和“应用商店”这样的关系。
yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器,主要应用在Fedora、RedHat、CentOS等发行版本上。通过yum,我们可以轻松地安装、更新和删除软件包,同时它还能自动处理软件包之间的依赖关系,极大地方便了系统管理员和开发人员的工作。
例如,在使用yum安装软件包时,只需一条简单的命令:
yum install [软件包名称]
yum会自动下载并安装指定的软件包,以及其所需的所有依赖包,从而简化了用户的操作流程。
2.rz和sz
在Linux系统中,rz和sz是用于在本地计算机和远程服务器之间进行文件传输的命令。它们分别用于接收和发送文件,是非常实用的传输工具。rz和sz命令基于ZMODEM协议工作,通常用于通过终端软件(如SecureCRT、xshell等)进行文件传输。
2.1rz命令
rz(receive ZMODEM)命令用于从本地计算机上传文件到远程服务器。当在远程服务器上执行rz命令后,本地计算机会弹出文件选择对话框,用户可以选择要上传的文件。
2.2sz命令
sz(send ZMODEM)命令用于将远程服务器上的文件下载到本地计算机。当在远程服务器上执行sz命令并指定要下载的文件后,本地计算机会自动开始接收文件。
2.3操作示例
以下是使用rz和sz命令的具体操作步骤:
-
通过SSH连接到远程服务器。
-
在远程服务器上安装lrzsz工具(如果尚未安装):
yum install lrzsz
-
使用rz命令从本地计算机上传文件到远程服务器:
rz
执行上述命令后,本地计算机会弹出文件选择对话框,选择要上传的文件并确认,文件会自动上传到当前目录。
-
使用sz命令从远程服务器下载文件到本地计算机:
sz [文件名]
例如,将文件example.txt从远程服务器下载到本地计算机:
sz example.txt
执行上述命令后,文件将自动下载到本地计算机的默认下载目录。
以下是实际操作的截图,展示了从本地上传文件和从远程下载文件的具体步骤。
首先下载lrzsz:(我们使用root账户,普通账户需要在命令最前面加上sudo)
接下来输入rz,弹出提示框:
我们自己选择一个Windows系统的文件(我选的是test.cpp),点击“打开”:
发送完毕后,我们使用ll指令查看是否传输完成:
如上图,test.cpp文件已成功上传到/root目录。
sz的过程不再展示。
3.安装前注意事项
在使用yum进行软件包管理时,需要注意以下几点以确保操作的顺利进行:
3.1保证网络畅通
yum命令需要从远程软件仓库下载软件包和依赖项,因此必须确保网络连接正常。可以通过ping
命令验证网络连接情况。例如,使用以下命令检查与Google的连接:(国内可使用baidu.com,检查与百度的连接)
ping www.google.com
如果网络连接正常,会显示类似如下的输出:
PING www.google.com (172.217.160.68): 56 data bytes
64 bytes from 172.217.160.68: icmp_seq=0 ttl=115 time=32.1 ms
64 bytes from 172.217.160.68: icmp_seq=1 ttl=115 time=32.3 ms
如果网络连接有问题,则需要检查网络配置或联系网络管理员解决。
3.2确保权限
在使用yum进行软件包安装、升级或卸载操作时,通常需要具有超级用户(root)权限。因此,运行yum命令时请使用sudo
,例如:
sudo yum install vim
3.3配置软件仓库
确保yum配置了正确的软件仓库,以便从可信赖的源下载软件包。配置文件通常位于/etc/yum.repos.d/
目录下,确保这些文件配置正确并且启用了所需的仓库。
3.4 检查系统更新
定期使用yum命令检查系统更新,以确保系统软件包的最新版本和安全性。例如:
sudo yum update
该命令会更新系统中所有已安装的软件包到最新版本。
4.查看软件包
通过yum list
命令可以列出当前系统中所有已安装的软件包。由于已安装的软件包数量可能非常多,我们可以使用grep
命令来筛选出我们关注的软件包。例如,要查看是否安装了lrzsz软件包,可以使用以下命令:
yum list | grep lrzsz
该命令的输出示例如下:
lrzsz.x86_64 0.12.20-36.el7 @base
注意事项
- 软件包名称: 包括主版本号、次版本号、源程序发行号。
x86_64
表示64位系统的安装包,i686
表示32位系统安装包。选择包时要和系统匹配。el7
表示操作系统发行版本,el7
表示的是CentOS 7/RedHat 7,el6
表示CentOS 6/RedHat 6。- 最后一列
base
表示的是“软件源”的名称,类似于“小米应用商店”、“华为应用商店”这样的概念。
5.安装软件
通过yum,我们可以通过非常简单的一条命令完成软件的安装。下面介绍如何使用yum安装软件包,并分别举例说明在root和非root用户下的操作方法。
5.1作为root用户安装软件
当你以root用户登录系统时,可以直接使用以下命令安装软件包:
yum install [软件包名称]
例如,安装lrzsz软件包:
yum install lrzsz
执行上述命令后,yum会自动找到所有需要的软件包并下载。当提示是否确认安装时,输入y
并按Enter键。出现“Complete”字样,说明安装完成。
具体过程如下图所示:
5.2作为非root用户安装软件
如果你不是以root用户登录系统,需要使用sudo
命令来获取超级用户权限:
sudo yum install [软件包名称]
例如,安装lrzsz软件包:
sudo yum install lrzsz
与root用户安装过程类似,yum会自动处理依赖并下载软件包。在提示确认安装时,输入y
并按Enter键。出现“Complete”字样,说明安装完成。
具体过程如下图所示:
输入用户密码后:
输入y,回车:
安装成功。
5.3注意事项
- 安装软件时由于需要向系统目录写入内容,一般需要
sudo
或者切到root账户下才能完成。 - yum安装软件只能一个安装完了再装另一个。正在yum安装一个软件的过程中,如果再尝试用yum安装另外一个软件,yum会报错。
6.卸载软件
在Linux系统中,使用yum卸载软件包也非常简单。卸载软件时,一般需要使用root用户或具有超级用户权限的用户进行操作。以下是卸载软件包的具体步骤:
6.1使用yum卸载软件包
作为root用户或使用sudo
命令,可以使用以下命令来卸载软件包:
yum remove [软件包名称]
例如,卸载lrzsz软件包:
yum remove lrzsz
执行上述命令后,系统会列出将要卸载的软件包及其相关依赖项,并提示确认。输入y
并按Enter键确认卸载。完成后,会出现类似“Complete”的字样,表示软件包已经成功卸载。
过程如下图所示:
6.2注意事项
- 卸载软件时,需要确保不会影响其他依赖该软件包的程序运行。在卸载之前,可以先查看哪些程序依赖于该软件包,以免造成系统或其他应用程序的问题。
- 在卸载过程中,系统会提示将要删除的软件包列表,请仔细确认无误后再进行操作。
- 卸载操作会释放软件包占用的磁盘空间,但也有可能删除相关的配置文件和用户数据,因此在操作前做好必要的备份工作。
7.结语
通过本篇博客的学习,我们系统地了解了Linux软件包管理器yum的基本使用方法,包括软件包的查看、安装和卸载等操作。掌握这些基本技能,可以大大简化Linux系统中软件的管理过程,提高工作效率。希望这些内容能够帮助读者在实际操作中更加得心应手,充分发挥Linux系统的强大功能。