- 7.1 安装软件包的三种方法 - 7.2 rpm包介绍 - 7.3 rpm工具用法 - 7.4 yum工具用法 - 7.5 yum搭建本地仓库 - 扩展 1. yum保留已经安装过的包 http://www.360doc.com/content/11/0218/15/4171006_94080041.shtml 2. 搭建局域网yum源 http://ask.apelearn.com/question/7627 # 7.1 安装软件包的三种方法 - windows的.exe文件实际上是一种二进制的安装包 - linux下有三种方法 1. rpm 工具 这种包和windows下的exe比较像,直接用rpm工具就可以,路径和文件名都是固定好的, 2. yum 工具 yum是另外一种工具安装rpm包的,用Python开发的一个工具,支持自动安装依赖的包, 3. 源码包 实际上是源代码,可以看到程序包,当时作者写的 c语言c++ ,用编程语言开发的各个文件都可以看到,需要通过一种编译器,把源码包编译成可以执行的文件 - 这三种方法,源码包是最难的,yum是最简单的 # 7.2 rpm包介绍 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170809/221054992.png?imageslim) - 怎么去把rpm工具怎么用,这个包是什么样子的? - 先打开虚拟机,看下右下方小光盘,点右键连接上,先把光盘连接到linux系统里面来,然后进行一个挂载 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170809/221300341.png?imageslim) 先看下/mnt/有没有在用 ``` [root@aminglinux-01 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda3 28G 1.4G 27G 5% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.7M 482M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 197M 109M 88M 56% /boot tmpfs 98M 0 98M 0% /run/user/0 [root@aminglinux-01 ~]# ls /mnt/ [root@aminglinux-01 ~]# mount /dev/cdrom /mnt/ mount: /dev/sr0 写保护,将以只读方式挂载 [root@aminglinux-01 ~]# [root@aminglinux-01 ~]# cd /mnt/ [root@aminglinux-01 mnt]# ls CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7 EFI images Packages RPM-GPG-KEY-CentOS-Testing-7 EULA isolinux repodata TRANS.TBL [root@aminglinux-01 mnt]# cd Packages/ [root@aminglinux-01 Packages]# ls xvattr-1.3-27.el7.x86_64.rpm xz-5.2.2-1.el7.x86_64.rpm xz-devel-5.2.2-1.el7.x86_64.rpm xz-libs-5.2.2-1.el7.x86_64.rpm yajl-2.0.4-4.el7.x86_64.rpm yelp-3.14.2-1.el7.x86_64.rpm yelp-libs-3.14.2-1.el7.x86_64.rpm yelp-xsl-3.14.0-1.el7.noarch.rpm ypbind-1.37.1-7.el7.x86_64.rpm ypserv-2.31-8.el7.x86_64.rpm yp-tools-2.14-3.el7.x86_64.rpm yum-3.4.3-150.el7.centos.noarch.rpm yum-langpacks-0.4.2-7.el7.noarch.rpm yum-metadata-parser-1.1.4-10.el7.x86_64.rpm yum-plugin-aliases-1.1.31-40.el7.noarch.rpm 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 yum-utils-1.1.31-40.el7.noarch.rpm zenity-3.8.0-5.el7.x86_64.rpm zip-3.0-11.el7.x86_64.rpm zlib-1.2.7-17.el7.x86_64.rpm zlib-devel-1.2.7-17.el7.x86_64.rpm zsh-5.0.2-25.el7.x86_64.rpm zziplib-0.13.62-5.el7.x86_64.rpm [root@aminglinux-01 Packages]# ``` ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170809/223245336.png?imageslim) 1. 从左到右,第一部分字符串,叫包名,包名后面是一个- 版本号,版本号又分成 主版本号,次版本号,小的版本号(修正版本),发布版本号,再往后是平台,最后就是后缀名.rpm 2. centos 4 5 6 都是区分32位 64位,centos7开始就不区分这些了 # 7.3 rpm工具的用法 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170809/223811716.png?imageslim) 1. 安装rpm包 使用命令rpm -ivh rpm包文件 ``` zenity-3.8.0-5.el7.x86_64.rpm zip-3.0-11.el7.x86_64.rpm zlib-1.2.7-17.el7.x86_64.rpm zlib-devel-1.2.7-17.el7.x86_64.rpm zsh-5.0.2-25.el7.x86_64.rpm zziplib-0.13.62-5.el7.x86_64.rpm [root@aminglinux-01 Packages]# [root@aminglinux-01 Packages]# rpm -ivh zsh-5.0.2-25.el7.x86_64.rpm 准备中... ################################# [100%] 正在升级/安装... 1:zsh-5.0.2-25.el7 ################################# [100%] [root@aminglinux-01 Packages]# ``` 2. 升级rpm包 使用命令rpm -Uvh ``` [root@aminglinux-01 Packages]# rpm -Uvh zsh-5.0.2-25.el7.x86_64.rpm ``` 3. 卸载rpm包 使用命令rpm -e 包名(不是整个包文件) ``` [root@aminglinux-01 Packages]# rpm -e zsh [root@aminglinux-01 Packages]# 也可以rpm -evh 卸载rpm包 加上vh 就是显示可视化和进度 [root@aminglinux-01 Packages]# rpm -evh zsh 准备中... ################################# [100%] 正在清理/删除... 1:zsh-5.0.2-25.el7 ################################# [100%] [root@aminglinux-01 Packages]# ``` 4. 查询安装的包 使用命令rpm -qa ``` [root@aminglinux-01 Packages]# rpm -qa policycoreutils-2.5-8.el7.x86_64 libdaemon-0.14-7.el7.x86_64 kmod-20-9.el7.x86_64 polkit-0.112-9.el7.x86_64 dhclient-4.2.5-47.el7.centos.x86_64 crontabs-1.11-6.20121102git.el7.noarch libdrm-2.4.67-3.el7.x86_64 pciutils-3.5.1-1.el7.x86_64 [root@aminglinux-01 Packages]# ``` 5. 查询指定包是否安装 使用命令 rpm -q 包名 ``` [root@aminglinux-01 Packages]# rpm -q ppp ppp-2.4.5-33.el7.x86_64 [root@aminglinux-01 Packages]# rpm -q ppp1 未安装软件包 ppp1 [root@aminglinux-01 Packages]# ``` 6. 查询指定包信息 使用命令rpm -qi 包名 ``` [root@aminglinux-01 Packages]# rpm -qi vim-enhanced Name : vim-enhanced Epoch : 2 Version : 7.4.160 Release : 1.el7_3.1 Architecture: x86_64 Install Date: 2017年08月03日 星期四 21时53分22秒 Group : Applications/Editors Size : 2292098 License : Vim Signature : RSA/SHA256, 2016年12月22日 星期四 01时14分11秒, Key ID 24c6a8a7f4a80eb5 Source RPM : vim-7.4.160-1.el7_3.1.src.rpm Build Date : 2016年12月22日 星期四 01时00分52秒 Build Host : c1bm.rdu2.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://www.vim.org/ Summary : A version of the VIM editor which includes recent enhancements Description : VIM (VIsual editor iMproved) is an updated and improved version of the vi editor. Vi was the first real screen-based editor for UNIX, and is still very popular. VIM improves on vi by adding new features: multiple windows, multi-level undo, block highlighting and more. The vim-enhanced package contains a version of VIM with extra, recently introduced features like Python and Perl interpreters. Install the vim-enhanced package if you‘d like to use a version of the VIM editor which includes recently added enhancements like interpreters for the Python and Perl scripting languages. You‘ll also need to install the vim-common package. [root@aminglinux-01 Packages]# ``` 7. 列出包安装的文件 使用命令 rpm -ql 包名 ``` [root@aminglinux-01 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 [root@aminglinux-01 Packages]# ``` 8. 查看一个文件是由哪个包安装的 使用命令 rpm -qf 文件绝对路径 ``` [root@aminglinux-01 Packages]# rpm -qf /usr/bin/vim vim-enhanced-7.4.160-1.el7_3.1.x86_64 [root@aminglinux-01 Packages]# [root@aminglinux-01 Packages]# rpm -qf `which cd` 这是反引号 bash-4.2.46-20.el7_2.x86_64 [root@aminglinux-01 Packages]# rpm -qf `which ls` rpm: --color=auto‘: 未知的选项 [root@aminglinux-01 Packages]# which ls alias ls=‘ls --color=auto‘ /usr/bin/ls 这里的ls 是俩行,所以不能把俩行作为参数 用cd 可以实现 [root@aminglinux-01 Packages]# rpm -qf `which cd` bash-4.2.46-20.el7_2.x86_64 [root@aminglinux-01 Packages]# which cd /usr/bin/cd [root@aminglinux-01 Packages]# ``` # 7.4 yum工具的用法 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170811/234056261.png?imageslim) - 如果使用rpm安装包,会有很多依赖关系,安装很麻烦,安装这个包会需要安装其他的包,有很多依赖关系,但是yum可以自动帮忙解决依赖关系,只需要跟包名 ``` [root@aminglinux-01 Packages]# rpm -ivh texlive-2012-38.20130427_r30134.el7.x86_64.rpm 错误:依赖检测失败: texlive-scheme-basic 被 texlive-2:2012-38.20130427_r30134.el7.x86_64 需要 texlive-collection-latexrecommended 被 texlive-2:2012-38.20130427_r30134.el7.x86_64 需要 tex-kpathsea 被 texlive-2:2012-38.20130427_r30134.el7.x86_64 需要 tex-tetex 被 texlive-2:2012-38.20130427_r30134.el7.x86_64 需要 [root@aminglinux-01 Packages]# ``` - 下面来用yum试下 ``` [root@aminglinux-01 Packages]# yum install texlive texlive-xdvi noarch 2:svn26689.22.85-38.el7 base 60 k texlive-xdvi-bin x86_64 2:svn26509.0-38.20130427_r30134.el7 base 278 k texlive-xkeyval noarch 2:svn27995.2.6a-38.el7 base 27 k texlive-xunicode noarch 2:svn23897.0.981-38.el7 base 44 k texlive-zapfchan noarch 2:svn28614.0-38.el7 base 102 k texlive-zapfding noarch 2:svn28614.0-38.el7 base 65 k zziplib x86_64 0.13.62-5.el7 base 81 k 事务概要 =========================================================================================== 安装 1 软件包 (+223 依赖软件包) 总下载量:118 M 安装大小:226 M Is this ok [y/d/N]: n Exiting on user command 您的事务已保存,请执行: yum load-transaction /tmp/yum_save_tx.2017-08-11.23-52.oRt6jf.yumtx 重新执行该事务 [root@aminglinux-01 Packages]# ``` - 如果用rpm -ivh 一个个安装需要安装233个依赖的软件包,那要累死了,但是yum可以自动帮您安装好,这就是yum的优势 - yum list 可以列出可用的rpm包 ``` [root@aminglinux-01 Packages]# yum list [root@aminglinux-01 Packages]# ls /etc/yum.repos.d/ CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo [root@aminglinux-01 Packages]# ls /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo [root@aminglinux-01 Packages]# [root@aminglinux-01 Packages]# cat /etc/yum.repos.d/CentOS-Base.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [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=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 ... [root@aminglinux-01 Packages]# ``` - yum search vim 搜素包 搜索vim 也可以搜其他的 ``` [root@aminglinux-01 Packages]# yum search vim 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.163.com * extras: mirrors.btte.net * updates: mirrors.163.com ==================================== N/S matched: vim ===================================== golang-vim.noarch : Vim plugins for Go protobuf-vim.x86_64 : Vim syntax highlighting for Google Protocol Buffers descriptions vim-X11.x86_64 : The VIM version of the vi editor for the X Window System vim-common.x86_64 : The common files needed by any version of the VIM editor vim-enhanced.x86_64 : A version of the VIM editor which includes recent enhancements vim-filesystem.x86_64 : VIM filesystem layout vim-minimal.x86_64 : A minimal version of the VIM editor 名称和简介匹配 only,使用“search all”试试。 [root@aminglinux-01 Packages]# ``` - yum list |grep ‘vim‘ 把yum list 命令 输出的结果里面再去 丢给后面的命令 再去过滤,中间的是管道符 ``` [root@aminglinux-01 Packages]# yum list |grep ‘vim‘ 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 golang-vim.noarch 1.3.3-2.el7_0 extras protobuf-vim.x86_64 2.5.0-8.el7 base vim-X11.x86_64 2:7.4.160-1.el7_3.1 updates vim-minimal.x86_64 2:7.4.160-1.el7_3.1 updates [root@aminglinux-01 Packages]# ``` - yum install -y 安装包 -y表示不再询问 - yum grouplist 把可用的组列出来 ``` [root@aminglinux-01 Packages]# yum grouplist 已加载插件:fastestmirror 没有安装组信息文件 Maybe run: yum groups mark convert (see man yum) Loading mirror speeds from cached hostfile * base: mirrors.163.com * extras: mirrors.btte.net * updates: mirrors.163.com 可用的环境分组: 最小安装 基础设施服务器 计算节点 文件及打印服务器 基本网页服务器 虚拟化主机 带 GUI 的服务器 GNOME 桌面 KDE Plasma Workspaces 开发及生成工作站 可用组: 传统 UNIX 兼容性 兼容性程序库 图形管理工具 安全性工具 开发工具 控制台互联网工具 智能卡支持 科学记数法支持 系统管理 系统管理工具 完成 [root@aminglinux-01 Packages]# 想要改成英文 使用命令LANG=en即可 [root@aminglinux-01 Packages]# LANG=en [root@aminglinux-01 Packages]# yum grouplist Failed to set locale, defaulting to C Loaded plugins: fastestmirror There is no installed groups file. Maybe run: yum groups mark convert (see man yum) Loading mirror speeds from cached hostfile * base: mirrors.163.com * extras: mirrors.btte.net * updates: mirrors.163.com Available Environment Groups: Minimal Install Compute Node Infrastructure Server File and Print Server Basic Web Server Virtualization Host Server with GUI GNOME Desktop KDE Plasma Workspaces Development and Creative Workstation Available Groups: Compatibility Libraries Console Internet Tools Development Tools Graphical Administration Tools Legacy UNIX Compatibility Scientific Support Security Tools Smart Card Support System Administration Tools System Management Done [root@aminglinux-01 Packages]# ``` - yum groupinstall (-y) ``` [root@aminglinux-01 Packages]# yum groupinstall ‘Virtualization Host‘ 如果安装的包是一个单词 就不需要用 单引号,如果中间有空格就加上单引号 Transaction Summary =========================================================================================== Install 63 Packages (+153 Dependent packages) Upgrade ( 7 Dependent packages) Total download size: 65 M Is this ok [y/d/N]: n Exiting on user command Your transaction was saved, rerun it with: yum load-transaction /tmp/yum_save_tx.2017-08-12.00-28.o4N6Ss.yumtx [root@aminglinux-01 Packages]# ``` - yum remove [-y] 卸载包 同时帮你把依赖的包也卸载,这个操作比较危险 ``` Dependencies Resolved =========================================================================================== Package Arch Version Repository Size =========================================================================================== Removing: ppp x86_64 2.4.5-33.el7 @anaconda 852 k Removing for dependencies: NetworkManager x86_64 1:1.4.0-12.el7 @anaconda 10 M NetworkManager-team x86_64 1:1.4.0-12.el7 @anaconda 53 k NetworkManager-tui x86_64 1:1.4.0-12.el7 @anaconda 266 k NetworkManager-wifi x86_64 1:1.4.0-12.el7 @anaconda 144 k Transaction Summary =========================================================================================== Remove 1 Package (+4 Dependent packages) Installed size: 11 M Is this ok [y/N]: n Exiting on user command Your transaction was saved, rerun it with: yum load-transaction /tmp/yum_save_tx.2017-08-12.00-31.QLxOxc.yumtx [root@aminglinux-01 Packages]# ``` - yum update [-y] 去升级一个包,如果不加包名,会默认把系统离所有包都升级到最新的包,这个操作往往是在刚刚安装完系统再做, - 如果是系统里面在运行过一些服务,就不要随便用这个升级,不然会导致系统一些服务停止,和文件丢失 - 命令 yum provides "/*/vim" 如果系统里没有vim 这个命令,也不知道vim这个包的话就使用这个命令搜一下, - 这就是怎么样去搜一个命令有哪一个包 可以安装到它 前提是这个命令 没有安装的命令 - 使用rpm -qf `which vim` 如果vim 命令根本就没有安装 就要用yum provides "/*/vim" 命令 ``` [root@aminglinux-01 Packages]# yum provides "/*/vim" Failed to set locale, defaulting to C Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.163.com * extras: mirrors.btte.net * updates: mirrors.163.com cmake-2.8.12.2-2.el7.x86_64 : Cross-platform make system Repo : base Matched from: Filename : /usr/share/cmake/editors/vim 2:docker-unit-test-1.10.3-59.el7.centos.x86_64 : Automates deployment of containerized : applications - for running unit tests Repo : extras Matched from: Filename : /var/lib/docker-unit-test/contrib/syntax/vim Filename : /var/lib/docker-unit-test/v1.10-migrator-c417a6a022c5023c111662e8280f885f6ac259be/Godeps/_workspace/src/github.com/docker/docker/contrib/syntax/vim Filename : /var/lib/docker-unit-test/docker-novolume-plugin-c5212546ab01b4b7b62caba888d298ab63f53984/Godeps/_workspace/src/github.com/docker/docker/contrib/syntax/vim git-1.8.3.1-6.el7_2.1.x86_64 : Fast Version Control System Repo : base Matched from: Filename : /usr/share/doc/git-1.8.3.1/contrib/vim 2:vim-common-7.4.160-1.el7.x86_64 : The common files needed by any version of the VIM : editor Repo : base Matched from: Filename : /usr/share/vim 2:vim-common-7.4.160-1.el7_3.1.x86_64 : The common files needed by any version of the VIM : editor Repo : updates Matched from: Filename : /usr/share/vim 2:vim-enhanced-7.4.160-1.el7.x86_64 : A version of the VIM editor which includes recent : enhancements Repo : base Matched from: Filename : /usr/bin/vim 2:vim-enhanced-7.4.160-1.el7_3.1.x86_64 : A version of the VIM editor which includes recent : enhancements Repo : updates Matched from: Filename : /usr/bin/vim 2:vim-enhanced-7.4.160-1.el7_3.1.x86_64 : A version of the VIM editor which includes recent : enhancements Repo : @updates Matched from: Filename : /usr/bin/vim [root@aminglinux-01 Packages]# ``` # 7.5 yum 搭建本地仓库 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170812/150337441.png?imageslim) - 图片中小错误:小错误: gpcheck改为gpgcheck,yum cean 改为 yum clean) - 有时候yum不能用,是yum不能联网,因为默认的仓库 是要远程连接一个资源 网站,下载rpm包 然后再去安装,那没网yum就不能用了吗 ? 就不能安装了吗?我们可以去搭建一个本地的仓库,让它来本地的仓库里来找这些rpm包 ,挂载光盘,里面Packages里有那么多rpm 包,把这些rpm包作为一个仓库, 首先要有一个光驱 ,光盘,镜像文件,挂载这个光驱,可以访问到这个里面的rpm包。 1.挂载一个光驱在/mnt/下 ``` [root@aminglinux-01 ~]# mount /dev/cdrom /mnt/ mount: /dev/sr0 写保护,将以只读方式挂载 [root@aminglinux-01 ~]# [root@aminglinux-01 ~]# cd /mnt/ [root@aminglinux-01 mnt]# cd Packages/ [root@aminglinux-01 Packages]# ls /mnt/ CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7 EFI images Packages RPM-GPG-KEY-CentOS-Testing-7 EULA isolinux repodata TRANS.TBL [root@aminglinux-01 Packages]# ``` 2.下面可能会删除一些文件 ,所以删除之前 先做一个备份,把这个目录拷贝一下 ``` [root@aminglinux-01 Packages]# cd [root@aminglinux-01 ~]# cp -r /etc/yum.repos.d /etc/yum.repos.d.bak 再到etc目录下的yum.repos.d 目录下 把所有.repo文件全部删掉 [root@aminglinux-01 ~]# cd /etc/yum.repos.d [root@aminglinux-01 yum.repos.d]# ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo [root@aminglinux-01 yum.repos.d]# rm -rf ./* [root@aminglinux-01 yum.repos.d]# vi dvd.repo 创建一个dvd.repo 文件 [root@aminglinux-01 yum.repos.d]# vi dvd.repo ~ ~ ~ "dvd.repo" [New File] 按i进入编辑模式 [dvd] dvd 最右侧仓库的名字 name=install dvd baseurl=file:///mnt 你这些rpm包在哪里,在/mnt/下也就是光驱的路径 enable=1 enable=1是否可用 改成=0 就是源,yum仓库不能用 gpcheck=0 gpcheck 是否要检测 =0 不检测 ~ ~ ~ ~ ~ ~ ~ -- INSERT -- :wq 保存退出 [root@aminglinux-01 yum.repos.d]# rm -rf ./* [root@aminglinux-01 yum.repos.d]# vi dvd.repo [root@aminglinux-01 yum.repos.d]# yum clean all 把之前的缓存都进行一个清除 已加载插件:fastestmirror 正在清理软件源: dvd Cleaning up everything Cleaning up list of fastest mirrors [root@aminglinux-01 yum.repos.d]# 然后再yum list 看下 [root@aminglinux-01 yum.repos.d]# yum list [root@aminglinux-01 yum.repos.d]# yum list |less 加个管道符 less 用less 查看下,可以一屏一屏看 带@说明是已经安装过的包 yum.noarch 3.4.3-150.el7.centos @anaconda yum-metadata-parser.x86_64 1.1.4-10.el7 @anaconda yum-plugin-fastestmirror.noarch 1.1.31-40.el7 @anaconda zip.x86_64 3.0-11.el7 @base zlib.x86_64 1.2.7-17.el7 @anaconda 可安装的软件包 389-ds-base.x86_64 1.3.5.10-11.el7 dvd 389-ds-base-libs.x86_64 1.3.5.10-11.el7 dvd ElectricFence.x86_64 2.2.2-39.el7 dvd GConf2.x86_64 3.2.6-8.el7 dvd ImageMagick.x86_64 6.7.8.9-15.el7_2 dvd ImageMagick-c++.x86_64 6.7.8.9-15.el7_2 dvd ImageMagick-perl.x86_64 6.7.8.9-15.el7_2 dvd LibRaw.x86_64 0.14.8-5.el7.20120830git98d925 dvd ModemManager.x86_64 1.6.0-2.el7 dvd ModemManager-glib.x86_64 1.6.0-2.el7 dvd MySQL-python.x86_64 1.2.5-1.el7 dvd NetworkManager-adsl.x86_64 1:1.4.0-12.el7 dvd NetworkManager-bluetooth.x86_64 1:1.4.0-12.el7 dvd NetworkManager-glib.x86_64 1:1.4.0-12.el7 dvd 带@ 的 上面的 是已经按照的包 下面是可以安装的包 ``` 下面来安装一个 dvd里面的 ``` [root@aminglinux-01 yum.repos.d]# yum list |less 由于管道被破坏而退出 [root@aminglinux-01 yum.repos.d]# yum install GConf2 已加载插件:fastestmirror Loading mirror speeds from cached hostfile 正在解决依赖关系 --> 正在检查事务 ---> 软件包 GConf2.x86_64.0.3.2.6-8.el7 将被 安装 --> 正在处理依赖关系 /usr/bin/killall,它被软件包 GConf2-3.2.6-8.el7.x86_64 需要 --> 正在检查事务 ---> 软件包 psmisc.x86_64.0.22.20-11.el7 将被 安装 --> 解决依赖关系完成 依赖关系解决 =========================================================================================== Package 架构 版本 源 大小 =========================================================================================== 正在安装: GConf2 x86_64 3.2.6-8.el7 dvd 1.0 M 为依赖而安装: psmisc x86_64 22.20-11.el7 dvd 141 k 事务概要 =========================================================================================== 安装 1 软件包 (+1 依赖软件包) 总下载量:1.1 M 安装大小:6.8 M Is this ok [y/d/N]: y Downloading packages: ------------------------------------------------------------------------------------------- 总计 8.9 MB/s | 1.1 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : psmisc-22.20-11.el7.x86_64 1/2 正在安装 : GConf2-3.2.6-8.el7.x86_64 2/2 验证中 : GConf2-3.2.6-8.el7.x86_64 1/2 验证中 : psmisc-22.20-11.el7.x86_64 2/2 已安装: GConf2.x86_64 0:3.2.6-8.el7 作为依赖被安装: psmisc.x86_64 0:22.20-11.el7 完毕! [root@aminglinux-01 yum.repos.d]# ``` - 这个就方便我们使用本地的光盘作为它的一个仓库,很方便去安装一些依赖的包,如果直接用rpm 会有很多依赖的包,很麻烦,很浪费时间,直接搞一个yum本地仓库,直接帮您全部搞定。 ## 扩展 - [ ] 1. yum保留已经安装过的包 http://www.360doc.com/content/11/0218/15/4171006_94080041.shtml -可以设置使yum保留已经下载的rpm包,供以后升级或重新安装时使用。 修改/etc/yum.conf即可: [main] cachedir=/home/soft1/yumcache keepcache=1 debuglevel=2 chchedir是放置下载的包的地方,可以修改为自己想放置的位置。 keepcache为1时表示保存已经下载的rpm包。 - [ ] 2. 搭建局域网yum源 http://ask.apelearn.com/question/7627 -yum局域网软件源搭建 来源:CSDN 作者:bhq2010 1、搭建Apache服务器或ftp服务器 yum安装或二进制包安装 2、准备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包。 3、创建yum仓库 准备createrepo:yum -y install createrepo 创建repository:createrepo /var/www/html/centos-6/ 创建完成之后,会在/var/www/html/centos-6/repodata下生成一些文件。 4、使用软件源 在其他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 - Base baseurl=http://*.*.*.*/centos-6/ gpgcheck=1(改成0下面那行就不用设置了) gpgkey=http:///*.*.*.*/centos-6/RPM-GPG-KEY-CentOS-6 enabled=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 ``` 原地址:http://www.linuxidc.com/Linux/2013-07/87315.htm
7.1 安装软件包的三种方法7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法7.5 yum搭建本地仓库
原文地址:http://ch71smas.blog.51cto.com/13090095/1960274