Linux包管理(wget、rpm和yum)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: wget是Linux中的一个下载文件的工具,wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。

01

wget


wget是Linux中的一个下载文件的工具,wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。





oracle@yaoyuan ~$ wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar--2022-07-31 16:24:44--  https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.30-1.el7.x86_64.rpm-bundle.tarResolving dev.mysql.com (dev.mysql.com)... 23.73.228.77, 2600:1417:76:58b::2e31, 2600:1417:76:589::2e31Connecting to dev.mysql.com (dev.mysql.com)|23.73.228.77|:443... connected.HTTP request sent, awaiting response... 302 Moved TemporarilyLocation: https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar [following]--2022-07-31 16:24:47--  https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.30-1.el7.x86_64.rpm-bundle.tarResolving cdn.mysql.com (cdn.mysql.com)... 23.212.72.229Connecting to cdn.mysql.com (cdn.mysql.com)|23.212.72.229|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 859453440 (820M) [application/x-tar]Saving to: ‘mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar’
 0% [                                                                                      ] 154,328      101KB/s


02

rpm

RPM被称为RedHat Package Manager。RPM的功能:打包、安装、查询、升级、卸载、校验、数据库管理。

RPM包的命名规范:name-version-release.os.arch.rpm

  • name:程序名称。
  • version:程序版本号。
  • release(发行号):用于标识RPM包本身的发行号,与源程序的release号无关。
  • os:即说明RPM包支持的操作系统版本。如el6(即rhel6)、centos6、el5、suse11。
  • arch:主机平台。如i686、x86_64、amd64、ppc(power-pc)、noarch(即不依赖平台)

例如:bash-4.3.2-5.el6.x86_64.rpm

RPM常用选项:

-i:表示安装。

-v, -vv, -vvv:表示详细信息。

-h:以"#"号显示安装进度。

-q:查询指定包名。

-e:卸载指定包名。

-U:升级软件,若软件尚未安装,则安装软件。

-F:升级软件。

-V:对RPM包进行验证。

安装RPM包

命令格式:rpm -ivh PATH/TO/RPM_FILE

卸载RPM包

命令格式:rpm -e 包名

查询RPM相关信息

结合-q选项,RPM提供了许多种查询信息的方式。

命令格式:rpm -q 包名

命令格式:rpm --query 包名

查询所有已经安装包:rpm -qa


oracle@yaoyuan ~$ rpm -qa|grep zipunzip-6.0-21.el7.x86_64bzip2-1.0.6-13.el7.x86_64bzip2-libs-1.0.6-13.el7.x86_64gzip-1.5-10.el7.x86_64perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64zip-3.0-11.el7.x86_64

查询某文件是由哪个rpm包安装生成的:rpm -qf /path/to/some_file



oracle@yaoyuan ~$  rpm -qf /bin/zipzip-3.0-11.el7.x86_64


03

yum


YUM被称为 Yellow dog Updater, Modified,是一个在Fedora和RedHat以及SUSE中的软件包管理器。YUM使用Python语言写成。

yum的主配置文件/etc/yum.conf



[main]        #main仓库。[ ]中括号表示一个仓库的定义。其中是仓库的名称。cachedir=/var/cache/yum/$basearch/$releasever    #RPM包的缓存位置。keepcache=0    #RPM包在本地是否需要长期保存。1表示yes,0表示no。debuglevel=2    #日志级别。logfile=/var/log/yum.log    #日志文件。exactarch=1    #下载的RPM包是否需要与本地平台完全匹配。1表示yes,0表示no。obsoletes=1gpgcheck=1    #是否需要自动来源合法性检测。

YUM的仓库配置:/etc/yum.repos.d/.repo*




$ cat /etc/yum.repos.d/oracle-linux-ol7.repo [ol7_latest]  #仓库的名称,不能重复。name=Oracle Linux $releasever Latest ($basearch) #对仓库的描述,该项必须有。baseurl=https://yum$ociregion.oracle.com/repo/OracleLinux/OL7/latest/$basearch/  #配置仓库的路径。用于指定一个url。gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle #验证RPM包的密钥文件路径gpgcheck=1  #是否需要gpg校验。值为1或0,默认为1。enabled=1  #是否启用当前仓库。值为1或0,默认为1。

注意:配置文件中的"="号的前后不能有空格。

使用本地光盘做yum源(录像:localyum)

网络上到yum源的速度可能很慢,使用本地光盘做yum源速度可以得到保证。

首先将光盘的iso文件插入到光驱中:

启动后从oracle用户的图像界面登录后光盘自动挂载到目录 /run/media/oracle/OL-7.9 Server.x86_64/,删除/etc/yum.repos.d目录下到其它repo文件,编辑一个新的dbsvr.repo文件如下:


[dbsvr]name=dbserverbaseurl=file:///run/media/oracle/OL-7.9%20Server.x86_64/enable=1gpgcheck=0

注意其中的空格用%20代替。也可以手工mount光盘:





oracle@yaoyuan ~$ sudo mount /dev/cdrom /mntmount: /dev/sr0 is write-protected, mounting read-onlyoracle@yaoyuan ~$ cat /etc/yum.repos.d/dbsvr2.repo [dbsvr2]name=dbserver2baseurl=file:///mntenable=1gpgcheck=0

测试刚刚创建的源:



oracle@yaoyuan ~$ yum repolistLoaded plugins: langpacks, ulninfoRepodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fastrepo id                                                    repo name                                                     status!dbsvr2                                                    dbserver2                                                     5,210repolist: 5,210oracle@yaoyuan ~$ yum makecache fastLoaded plugins: langpacks, ulninfodbsvr2                                                                                                  | 3.6 kB  00:00:00     Metadata Cache Createdoracle@yaoyuan ~$ yum list all|headLoaded plugins: langpacks, ulninfoInstalled PackagesGConf2.x86_64                          3.2.6-8.el7                 @anaconda/7.9GeoIP.x86_64                           1.5.0-14.el7                @anaconda/7.9ModemManager.x86_64                    1.6.10-4.el7                @anaconda/7.9ModemManager-glib.x86_64               1.6.10-4.el7                @anaconda/7.9NetworkManager.x86_64                  1:1.18.8-1.el7              @anaconda/7.9NetworkManager-adsl.x86_64             1:1.18.8-1.el7              @anaconda/7.9NetworkManager-config-server.noarch    1:1.18.8-1.el7              @anaconda/7.9NetworkManager-glib.x86_64             1:1.18.8-1.el7              @anaconda/7.9
Exiting on Broken Pipe

yum的用例:

模糊匹配搜索,命令格式:yum search 查询名

例:查询软件包名中出带有readline的软件包命令:



oracle@yaoyuan ~$ yum list all|grep -i readlinereadline.x86_64                        6.2-11.el7                  @anaconda/7.9readline-devel.x86_64                  6.2-11.el7                  @dbsvr2      readline.i686                          6.2-11.el7                  dbsvr2       readline-devel.i686                    6.2-11.el7                  dbsvr2       oracle@yaoyuan ~$ yum search readlineLoaded plugins: langpacks, ulninfo==================================================== N/S matched: readline ====================================================readline-devel.i686 : Files needed to develop programs which use the readline libraryreadline-devel.x86_64 : Files needed to develop programs which use the readline libraryperl-Term-UI.noarch : Term::ReadLine user interface made easyreadline.i686 : A library for editing typed command linesreadline.x86_64 : A library for editing typed command lines
  Name and summary matches only, use "search all" for everything.

显示所有仓库,命令:yum repolist all

查询某个文件是由哪个软件包生成的,该功能类似于rpm -qf 包名。

命令格式:yum provides 文件   或者 yum whatprovides 文件


oracle@yaoyuan ~$ yum provides /bin/zipLoaded plugins: langpacks, ulninfozip-3.0-11.el7.x86_64 : A file compression and packaging utility compatible with PKZIPRepo        : @anaconda/7.9Matched from:Filename    : /bin/zip

清空本地yum的缓存

yum仓库若更新,则本地缓存就没有意义了。所以本地缓存需要清空。

命令格式:yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

手动在本地建立缓存

yum客户端会下载远程yum的文件。在本地生成缓存。

命令:yum makecache

安装包

基本格式:yum [-y] install 包1 包2 ... 包n

本地安装包

一些大包可以通过下载工具下载到本地,再进行安装,本地安装的命令格式:yum localinstall rpm包路径

例如安装MySQL的包:


$  sudo yum localinstall mysql-community-{server,client,common,libs,icu}-*
相关文章
|
11天前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
127 11
|
4月前
|
安全 Linux 网络安全
Linux wget 常用命令详解
wget 是一款强大的命令行下载工具,支持 HTTP/HTTPS/FTP 协议。本文详细介绍其基础用法、高效下载参数、高级应用场景及参数速查。内容涵盖断点续传(-c)、后台下载(-b)、限速下载(--limit-rate)、递归下载(-r)、整站镜像(-mk)等实用功能,同时提供文件管理、网络优化与安全下载配置方法,助您高效完成各类下载任务。
|
4月前
|
NoSQL Linux 开发工具
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
本文介绍了yum 包管理工具、Vim 编辑器、gcc/g++ 编译器、gdb 调试器、编译原理及 Makefile 的使用,同时还配备了如何使用,以及图解。旨在帮助读者更好地理解和应用这些工具与技术。
206 0
|
10月前
|
Ubuntu Linux Shell
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
4608 69
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
8月前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
756 25
|
8月前
|
Linux API
Linux下载工具wget与curl
`wget` 是一个用于从网络下载文件的命令行工具,支持HTTP、HTTPS和FTP协议。它能自动处理下载中断,并支持递归下载网站内容。基本用法:`wget URL`,可指定文件名(`-O`)、保存目录(`-P`),还支持断点续传(`-c`)、限速(`--limit-rate`)和递归下载(`-r`)。相比之下,`curl` 更侧重于发送各种HTTP请求(如GET、POST),并支持文件上传、自定义请求头和cookie等功能。
199 10
|
12月前
|
Linux 开发工具 数据安全/隐私保护
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
这篇文章介绍了在CentOS 7系统中安装Docker时遇到的两个常见问题及其解决方法:用户不在sudoers文件中导致权限不足,以及yum被锁定的问题。
196 2
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
|
12月前
|
Kubernetes Linux 测试技术
|
11月前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
972 0
|
14天前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
220 16