这期呢主要说一说Linux中包软件管理相关命令,这一期的命令虽然只有两个。但 软件包的安装和卸载都是我们平常最常用的,需要熟练掌握。
rpm和yum 是CentOS 主要的包软件管理。
两个命令各有用处,①yum需要互联网,yum会去网上的yum源获取所需的软件包
② rpm 操作相对复杂,需要我们做得更多

1、简介
rpm 命令包含了安装、卸载、升级、查询和验证5个基本功能
2、语法格式
rpm [参数选项]
3、参数选项
| 参数 | 参数说明 |
|---|---|
| -q | 查询软件包 |
| -p | 后面接“.rpm”为后缀的软件包 |
| -i | ①与-qp配合使用,表示显示软件包的概要信息 info ②安装软件包 install |
| -l | 显示软件包种所有文件列表 |
| -R | 显示软件包依赖环境 |
| -v | 显示详细信息 |
| -h | 用“#” 显示安装进度条 |
| -a | 与-q参数搭配使用,用于查询所有的软件包 |
| -e | 卸载软件包 |
| -f | 查询文件或命令属于哪个软件包 |
| -U | 升级软件包 |
4、 实践操作
我们下载一个rpm包telnet-server-0.17-66.el7.x86_64.rpm作为后续实践操作文件
[root@xiezhr test]# wget https://mirrors.aliyun.com/centos/7.9.2009/updates/x86_64/Packages/telnet-server-0.17-66.el7.x86_64.rpm
--2022-08-02 22:47:29-- https://mirrors.aliyun.com/centos/7.9.2009/updates/x86_64/Packages/telnet-server-0.17-66.el7.x86_64.rpm
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 101.226.26.240, 101.226.26.241, 101.226.26.242, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|101.226.26.240|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 42148 (41K) [application/octet-stream]
Saving to: ‘telnet-server-0.17-66.el7.x86_64.rpm’
100%[========================================================================================================================================================================>] 42,148 --.-K/s in 0.01s
2022-08-02 22:47:29 (3.70 MB/s) - ‘telnet-server-0.17-66.el7.x86_64.rpm’ saved [42148/42148]
① 查看rpm包信息
[root@xiezhr test]# rpm -qpi telnet-server-0.17-66.el7.x86_64.rpm
Name : telnet-server
Epoch : 1
Version : 0.17
Release : 66.el7
Architecture: x86_64
Install Date: (not installed)
Group : System Environment/Daemons
Size : 56361
License : BSD
Signature : RSA/SHA256, Wed 18 Nov 2020 10:20:43 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : telnet-0.17-66.el7.src.rpm
Build Date : Tue 17 Nov 2020 12:44:28 AM CST
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://web.archive.org/web/20070819111735/www.hcs.harvard.edu/~dholland/computers/old-netkit.html
Summary : The server program for the Telnet remote login protocol
Description :
Telnet is a popular protocol for logging into remote systems over the
Internet. The package includes a daemon that supports Telnet remote
logins into the host machine. The daemon is disabled by default.
You may enable the daemon by editing /etc/xinetd.d/telnet
② 查看rpm包内容
[root@xiezhr test]# rpm -qpl telnet-server-0.17-66.el7.x86_64.rpm
/usr/lib/systemd/system/telnet.socket
/usr/lib/systemd/system/telnet@.service
/usr/sbin/in.telnetd
/usr/share/man/man5/issue.net.5.gz
/usr/share/man/man8/in.telnetd.8.gz
/usr/share/man/man8/telnetd.8.gz
③ 查看rpm包的依赖环境
[root@xiezhr test]# rpm -qpR telnet-server-0.17-66.el7.x86_64.rpm
/bin/sh
/bin/sh
/bin/sh
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.15)(64bit)
libc.so.6(GLIBC_2.16)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.8)(64bit)
libutil.so.1()(64bit)
libutil.so.1(GLIBC_2.2.5)(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
systemd
systemd
systemd
systemd
rpmlib(PayloadIsXz) <= 5.2-1
④ 安装rpm 包(参数h 以“#”显示进度条)
[root@xiezhr test]# rpm -ivh telnet-server-0.17-66.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:telnet-server-1:0.17-66.el7 ################################# [100%]
⑤ 查询是否安装指定的rpm包
[root@xiezhr test]# rpm -qa telnet-server
telnet-server-0.17-66.el7.x86_64
⑥ 卸载rpm 包
# 卸载刚才安装的telnet-server
[root@xiezhr test]# rpm -e telnet-server
# 再次查看rpm包,已经没有了,说明卸载成功了
[root@xiezhr test]# rpm -qa telnet-server
1、简介
yum 命令主要用于自动安装升级rpm软件包,需要连接互联网
2、语法格式
yum [参数选项] [指令] [软件包]
3、常用参数
| 参数 | 参数说明 |
|---|---|
| -y | 确认操作 |
| -q | 不输出信息 |
| -v | 显示详细信息 |
4、常用指令
| 指令 | 指令说明 |
|---|---|
| yum install softwarename | 安装softwarename包 |
| yum repolist | 列出启用的yum源 |
| yum repolist all | 列出所有yum,包括禁用的yum源 |
| yum remove softwarename | 卸载softwarename包 |
| yum list softwarename | 查看软件源中是否有此软件 |
| yum list all | 列出所有软件名称 |
| yum list installd | 列出已经安装的软件名称 |
| yum list available | 列出可以用yum安装的软件名称 |
| yum clean all | 清空yum缓存 |
| yum search softwarename | 根据软件信息搜索软件名字 |
| yum whatprovides filename | 在yum源中查找包含filename文件的软件包 |
| yum update | 更新软件 |
| yum history | 查看系统软件改变历史 |
| yum reinstall softwarename | 重新安装 |
| yum info softwarename | 查看软件信息 |
| yum groups list | 查看软件组信息 |
| yum groups info softwaregroup | 查看软件组内包含的软件 |
| yum groups install softwaregroup | 安装组件 |
5、实践操作
① 安装httpd包
[root@xiezhr ~]# yum install httpd
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
nodesource | 2.5 kB 00:00:00
os | 3.6 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/4): epel/7/x86_64/group_gz | 97 kB 00:00:00
(2/4): epel/7/x86_64/updateinfo | 1.1 MB 00:00:00
(3/4): epel/7/x86_64/primary_db | 7.0 MB 00:00:01
(4/4): updates/7/x86_64/primary_db
...
② 查看yum源中是否是否有此软件
[root@xiezhr ~]# yum list telnet-server
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Available Packages
telnet-server.x86_64 1:0.17-66.el7 updates
③ 清空yum 缓存
[root@xiezhr ~]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: epel extras nodesource os updates
这期内容就到这,下期根据思维导图就到Linux用户相关命令的使用了。
涉及到的命令有: useradd、usermod、userdel、groupadd、groupdel、su、passwd等等
敬请期待哦(●’◡’●)
专栏目录:快速上手Linux核心命令专栏目录
上一篇:快速上手Linux核心命令(九):文件备份与压缩
下一篇:快速上手Linux核心命令(十一):Linux用户相关命令
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我想用ruby编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序
我打算为ruby脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn
我有一个奇怪的问题:我在rvm上安装了rubyonrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(
我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs
我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
由于fast-stemmer的问题,我很难安装我想要的任何rubygem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=
当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub