系统下是如何安装软件:windows下是.exe的下一步安装法:那linux如何安装软件呢:

7.1:linux安装软件包的方法:rpm   yum    源码包

.2-7.3 rpm工具

rpm包介绍(准备工作)

挂载系统安装盘镜像(挂载到一个空目录,此处/mnt/目录未使用,所以直接挂载到/mnt/目录下)

[root@adai002 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点/dev/sda3        28G  1.3G   27G    5% /devtmpfs        483M     0  483M    0% /devtmpfs           493M     0  493M    0% /dev/shmtmpfs           493M  6.8M  486M    2% /runtmpfs           493M     0  493M    0% /sys/fs/cgroup/dev/sda1       197M  109M   88M   56% /boottmpfs            99M     0   99M    0% /run/user/0[root@adai002 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@adai002 mnt]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7EULA             isolinux  repodata  TRANS.TBL
[root@adai002 Packages]# ls
yum-plugin-changelog-1.1.31-40.el7.noarch.rpm
yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm
yum-plugin-tmprepo-1.1.31-40.el7.noarch.rpm
yum-plugin-verify-1.1.31-40.el7.noarch.rpm
yum-plugin-versionlock-1.1.31-40.el7.noarch.rpm
……
(rpm包格式:包名、版本号、发布版本号、平台)

rpm包存放在Packages该文件下!

rpm工具用法

安装rpm包

语法: rpm [options] [参数]
Options:
-i:=install,安装
-v:可视化
-h:显示安装进度
在安装一个rpm包时常用附带选项:
--force:强制安装
--nodeps:=no dependent 无依赖安装(忽视与其他包之间的依赖关系)

  • eg1:安装一个rpm包(无依赖包)

[root@adai002 Packages]# rpm -ivh x86info-1.30-6.el7.x86_64.rpm准备中...                          ################################# [100%]正在升级/安装...   1:x86info-1:1.30-6.el7             ################################# [100%]
  • eg2:安装一个rpm包(有依赖包)

[root@adai002 Packages]# rpm -ivh yp-tools-2.14-3.el7.x86_64.rpm错误:依赖检测失败:    ypbind 被 yp-tools-2.14-3.el7.x86_64 需要
## 即,两个包之间存在依赖关系
## 解决办法:
①:[root@adai002 Packages]# rpm -iv hyp-tools-2.14-3.el7.x86_64.rpm yp-tools-2.14-3.el7.x86_64②:[root@adai002 Packages]# rpm -ivh --force yp-tools-2.14-3.el7.x86_64.rpm(添加--force或--nodeps选项即可安装)

说明: 安装有依赖关系的包时,可以先安装其所依赖的包再安装目标包(同时安装存在依赖关系的包),或者使用--force或--nodeps选项进行强行安装(不建议使用)。

升级rpm包

语法: rpm [-U] [包名]

[root@adai002 Packages]# rpm -Uvh x86info-1.30-6.el7.x86_64.rpmPreparing...                          ################################# [100%]package x86info-1:1.30-6.el7.x86_64 is already installed

说明: 如果升级一个已经安装的最新版本的包,执行该命令后无任何操作。

卸载一个rpm包

语法: rpm [-e] [包名]

[root@adai002 Packages]# rpm -e x86info-1.30-6.el7.x86_64.rpmerror: package x86info-1.30-6.el7.x86_64.rpm is not installed[root@adai002 Packages]# rpm -e x86info

注: 卸载时直接跟报名,无需跟该包的信息;当包之间存在依赖关系时也需要先卸载其依赖包。

查询rpm包

查询已安装的包

语法:
rpm [-q] [包名] 查询指定包
rpm [-qa] 查询所有已安装包
eg:

[root@adai002 Packages]# rpm -q kmodkmod-20-9.el7.x86_64#########################################[root@adai002 Packages]# rpm -qa |head -5trousers-0.3.13-1.el7.x86_64
filesystem-3.2-21.el7.x86_64
net-tools-2.0-0.17.20131004git.el7.x86_64bind-license-9.9.4-37.el7.noarch
fxload-2002_04_11-16.el7.x86_64
查询已安装包的相关信息

语法: rpm [-qi] [包名]
i=information

[root@adai002 Packages]# rpm -qi filesystemName        : filesystemVersion     : 3.2Release     : 21.el7Architecture: x86_64Install Date: Mon May 22 01:19:49 2017Group       : System Environment/BaseSize        : 0……
查询某包所安装的文件

语法: rpm [-ql] [包名]
l=list

[root@adai002 Packages]# rpm -ql vim-enhanced/etc/profile.d/vim.csh
/etc/profile.d/vim.sh
/usr/bin/rvim
/usr/bin/vim
/usr/bin/vimdiff
/usr/bin/vimtutor
查看某文件的安装包

语法: rpm [-qf] [文件绝对路径]

[root@adai002 Packages]# rpm -qf /usr/bin/vimvim-enhanced-7.4.160-1.el7_3.1.x86_64

即,通过其绝对路径查询到其安装包,当不知道其绝对路径时,使用which命令查询。

反引号命令

反引号的作用就是将反引号内的Linux命令先执行,然后将执行结果赋予变量。即,在命令行上把Linux命令放在反引号中,这个命令会首先被执行,然后将其结果作为为该命令行的一个参数。

eg:

[root@adai002 Packages]# rpm -qf `which cd`bash-4.2.46-20.el7_2.x86_64

说明: 先执行“which cd”命令,其次将“which cd”的结果作为“rpm -qf”的参数执行该命令。

7.4 yum工具用法

列出所有rpm包

语法: yum list

[root@adai002 Packages]# yum list Failed to set locale, defaulting to CLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile* base: mirrors.btte.net* extras: mirrors.aliyun.com* updates: mirrors.tuna.tsinghua.edu.cnInstalled PackagesNetworkManager-libnm.x86_64                1:1.4.0-12.el7              @anacondaNetworkManager-team.x86_64                 1:1.4.0-12.el7              @anaconda
zsh.x86_64                                        5.0.2-25.el7_3.1                    updates
zsh-html.x86_64                                   5.0.2-25.el7_3.1                    updates
zziplib.i686                                      0.13.62-5.el7                       base
zziplib.x86_64                                    0.13.62-5.el7                       base
……
Exiting on Broken Pipe
注: 第一列是包名,第二列是版本号,第三列是库

说明: 库所在位置有“@”表示已安装;“updates”表示已安装,有新版本,需要升级;其他的表示可安装但还未安装的rpm包。

  • yum配置文件

[root@adai002 Packages]# ls /etc/yum.repos.d/CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-fasttrack.repo
CentOS-CR.repo    CentOS-Media.repo      CentOS-Vault.repo
  • 配置文件base的信息

[root@adai002 Packages]# cat /etc/yum.repos.d/CentOS-Base.repo# CentOS-Base.repo#……
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7……

说明: 该文件下有rpm包所在库base的镜像地址信息!

搜索rpm包

语法: yum search [关键词]

[root@adai002 Packages]# yum search vimFailed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.btte.net* extras: mirrors.aliyun.com* updates: mirrors.tuna.tsinghua.edu.cn
====================================== N/S matched: vim =======================================
golang-vim.noarch : Vim plugins for Go
protobuf-vim.x86_64 : Vim syntax highlighting
vim-minimal.x86_64 : A minimal version of the VIM editorName and summary matches only, use "search all" for everything.

说明: 使用该命令搜索时会列出所有包含‘vim’(关键词)的信息,不精确,为了只搜索相关rpm包,可用如下方法:

[root@adai002 Packages]# yum list |grep vimFailed to set locale, defaulting to C
vim-common.x86_64                          2:7.4.160-1.el7_3.1         @updates vim-enhanced.x86_64                        2:7.4.160-1.el7_3.1         @updates vim-filesystem.x86_64                      2:7.4.160-1.el7_3.1         @updates vim-minimal.x86_64                         2:7.4.160-1.el7             @anaconda

说明: grep表示过滤。

列出rpm包组

语法: yum grouplist

[root@adai002 Packages]# yum grouplistFailed to set locale, defaulting to CLoaded plugins: fastestmirrorThere is no installed groups file.Maybe run: yum groups mark convert (see man yum)Loading mirror speeds from cached hostfile* base: mirrors.btte.net* extras: mirrors.aliyun.com* updates: mirrors.tuna.tsinghua.edu.cnAvailable Environment Groups:   Minimal InstallCompute Node……Available Groups:   Compatibility LibrariesConsole Internet Tools……Done

安装rpm包

语法: yum install [-y] [包名]
说明: 如果不加‘-y’选项,则会以与用户交互的方式安装。首先是列出需要安装的rpm包,然后会问用户是否需要安装,输入‘y’则安装,输入‘n’则不安装,这样太麻烦,所以直接加上‘-y’选项,省略与用户之间的交互。

安装rpm包组

语法: yum groupinstall [-y] [包的组名]
如果不知道组名,可用yum grouplist查看(注:进行安装时只能用英文名)。

卸载rpm包

语法: yum remove [-y] [包名]
说明: ‘-y’选项同install的用法,需要注意的是,在使用该命令进行卸载时会将目标文件所依赖的所有包同时删除,所以要谨慎使用!

升级rpm包

语法: yum update [-y] [包名]
说明: 如果不加包名,则会升级系统内所有包以及系统本身(慎用,一般只在刚安装完系统时使用)。

yum provides

该命令的作用是通过已知命令名称来搜索其rpm包名。
用法:

[root@adai002 Packages]# yum provides “/*/vim”

说明: 因为该命令位置不确定,所以进行搜索时使用‘*’(通配符)来代表其路径。

7.5 yum搭建本地仓库

有时候Linux系统无法联网,此时无法使用网上的yum源,需要我们利用Linux系统光盘制作一个yum源。

步骤

挂载光盘——删除/etc/yum.repos.d/目录所有repo文件——创建新文件dvd.repo——清除原有缓存‘yum clean all’。

[root@adai002 ~]# cp -r /etc/yum.repos.d /etc/yum.repos.d.bak   备份原.repo文件
[root@adai002 ~]# cd /etc/yum.repos.d   切换目录[root@adai002 yum.repos.d]# lsCentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-fasttrack.repo
CentOS-CR.repo    CentOS-Media.repo      CentOS-Vault.repo
[root@adai002 yum.repos.d]# rm -rf ./*删除原有repo文件
[root@adai002 yum.repos.d]# vim dvd.repo“
[dvd]
name=install dvd
baseurl=file:///mntenable=1gpgcheck=0”
此部分内容除baseurl目录根据个人实际操作更改外,其余内容固定。[root@adai002 yum.repos.d]# yum clean all清除系统原有缓存
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Cleaning repos: dvd
Cleaning up everything
Cleaning up list of fastest mirrors
[root@adai002 ~]# yum list ……
Available Packages  还未安装的可安装rpm包的库都变成dvd
ypserv.x86_64                                    2.31-8.el7                           dvd
yum-langpacks.noarch                             0.4.2-7.el7                          dvd
yum-plugin-aliases.noarch                        1.1.31-40.el7                        dvd
yum-plugin-changelog.noarch                      1.1.31-40.el7                        dvd
yum-plugin-tmprepo.noarch                        1.1.31-40.el7                        dvd      ……

配置完成后便可直接使用yum安装所需要的rpm包。如果不想使用本地yum源,需要删除/etc/yum.repos.d/dvd.repo文件,然后恢复原来的配置文件。

扩展1:yum保留已经安装过的包

可以设置使yum保留已经下载的rpm包,供以后升级或重新安装时使用。
修改/etc/yum/conf即可:

[main]cachedir=/home/soft1/yumcachekeepcache=1debuglevel=2

cachedir是放置下载的包的地方,可以修改成自己想放置的位置。
keepcache为1时表示保存已经下载的rpm包。

扩展2:yum局域网软件源搭建

搭建Apache服务器或ftp服务器

yum安装或二进制包安装.

准备RPM包

把CentOS的DVD1和DVD2.iso都下载下来,把DVD1.iso里的所有内容解压出来,放到/var/www/html/centos-6目录下,然后把DVD2.iso解压出来的Packages目录下的rpm包复制到/var/html/centos-6/Packages目录下,这样/var/html/centos-6/Packages里面就有了6000多个rpm包。

创建yum仓库

准备createrepo:yum -y install createrepo

创建repository:createrepo /var/www/html/centos-6/

创建完成之后,会在/var/www/html/centos-6/repodata下生成一些文件。

使用软件源

在其他centos机器上试试软件源能不能用。

  • 首先修改机器上软件源配置文件:

# cd /etc/yum.repos.d/# mkdir bk# mv *.repo bk/# cp bk/CentOS-Base.repo ./# vi CentOS-Base.repo
  • CentOS-Base.repo文件修改之后如下:

[base]name=CentOS-$releasever - Basebaseurl=http://*.*.*.*/centos-6/gpgcheck=1(改成0下面那行就不用设置了)gpgkey=http:///*.*.*.*/centos-6/RPM-GPG-KEY-CentOS-6enabled=1#released updates #[updates]#name=CentOS-$releasever - Updates#baseurl=http:///*.*.*.*/centos-6/#gpgcheck=1#gpgkey=http:///*.*.*.*/centos-6/RPM-GPG-KEY-CentOS-6#enabled = 1

保存之后,就可以使用局域网的软件源了:

# yum update

本文转自 芬野 51CTO博客,原文链接:http://blog.51cto.com/yuanhaohao/2059180,如需转载请自行联系原作者

day-20: 安装软件包及rpm yum的介绍相关推荐

  1. 软件包管理 rpm yum apt-get dpkg

    软件包管理 rpm yum apt-get dpkg 标签: debdebian工具linuxubuntulotus 2012-03-28 10:17 3410人阅读 评论(0) 收藏 举报  分类: ...

  2. 26期20180626 rpm 安装软件包的方法 yum

    6月26日任务 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库(视频中ppt小错误: gpcheck改为gpgcheck ...

  3. Linux软件安装—软件包管理—rpm命令管理—包名与依赖性

    一.RPM包管理-rpm包命令管理 1.rpm包命名规则 apache包举例: httpd-2.2.15-15.el6.centos.l.i686.rpm各部分的含义如下表 内容 含义 httpd 软 ...

  4. 软件包管理,rpm,yum,dnf,apt,dpkg使用

    软件包管理 包管理器: rpm:rpm包管理器 yum:rpm包管理器的前端工具 dnf:Fedora 18+ rpm包管理器前端管理工具,CentOS 8 版代替 yum dpkg:deb包管理器 ...

  5. RPM软件包管理 、Yum软件包仓库

    一.环境准备 开启CentOS7虚拟机 1.将光盘光盘镜像文件,放到虚拟的光驱设备 2.建立一个目录,进行挂载 [root@localhost ~]# ls -l /dev/cdrom lrwxrwx ...

  6. CentOS7安装软件包的方法

    文章目录 一.rpm安装 1.查看系统中已安装的软件包 2.查看软件包的安装文件 3.安装/升级软件包 4.删除软件包 二.yum安装 1.yum的语法 2.yum的常用命令 3.示例 三.应用经验 ...

  7. linux 软件包的安装,linux安装软件包的方法

    Linux有多种发行版本,各种发行版本之间安装软件包的方法和命令不一样,同发行版本之间安装软件包的方法也有不同.Linux主要有三大派系:红帽子派系(Redhat.Centos.Oracle Linu ...

  8. 安装软件包的三种方法、rpm包介绍、rpm工具用法、yum工具用法、yum搭建本地仓库...

    为什么80%的码农都做不了架构师?>>>    安装软件包的三种方法 rpm工具 yum工具 源码包 rpm rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linu ...

  9. 安装软件包的三种方法 ,rpm包介绍 , rpm工具用法, yum工具用法, yum搭建本地仓库...

    linux安装和卸载软件 安装三种方法 rpm工具 yum工具 源码包 rpm工具使用 首先看一下什么事rpm包,可以挂载光驱看看里面有很多 [root@localhost ~]# mount /de ...

最新文章

  1. 安装ftp连接linux服务器配置,Linux下FTP安装及配置(VSFTPD服务器安装配置、FTP客户端安装配置)...
  2. mac 环境下 制作windows系统U盘启动盘
  3. 如何查看数据文件或者Log文件是否增长过?
  4. Spring事务管理(三)-PlatformmTransactionManager解析和事务传播方式原理
  5. 我的物联网项目(十二) 单体应用架构不行?
  6. 264分析两大利器:264VISA和Elecard StreamEye Tools
  7. 多相机坐标转换_使用KITTI数据集实现坐标转换
  8. vue应用axios.get请求的代码格式(2种)- 代码篇
  9. windows和linux下读取文件乱码的终极解决办法!
  10. NLP情感分析笔记(一):Baseline
  11. 积分电路与低通滤波器
  12. kubeedge解决边端keadm join的时候卡住的问题
  13. 计算机考研数学和英语难吗,英语难还是数学难
  14. 大一学生HTML5期末大作业——基于HTML+CSS中国传统节日-清明节 8页
  15. 关于Likelihood 和 Probability的差别
  16. Java 利用hutool工具实现导出excel并合并单元格
  17. 为什么有些人说单片机简单,我学起来这么吃力?
  18. mysql导出数据到csv的方式
  19. QT 获取本机IP地址 子网掩码 网卡
  20. 蓝桥杯:报时问题(c语言)

热门文章

  1. 软件开发项目进度控制浅谈
  2. Solidworks输出Autocad的DWG格式乱码怎么办
  3. AngularJS实现原理
  4. Rootkit Hunter Sourcecode Learning
  5. 【错误记录】jcenter 移除问题 ( Please remove usages of `jcenter()` Maven repository from your build scripts )
  6. 【Groovy】Groovy 脚本调用 ( Groovy 脚本中调用另外一个 Groovy 脚本 | 绑定作用域 binding 变量分析 | Binding 类 variables 成员分析 )
  7. 【C 语言】二级指针作为输入 ( 自定义二级指针内存 | 二级指针排序 | 通过 交换指针指向的内存数据 方式进行排序 )
  8. 【C 语言】字符串模型 ( 键值对模型 )
  9. 【Flutter】Dart 函数 ( 函数构成 | 私有函数 | 匿名函数 | 函数总结 )
  10. 【Android 异步操作】线程池 ( Worker 简介 | 线程池中的工作流程 runWorker | 从线程池任务队列中获取任务 getTask )