7.1 安装软件包的三种方法

rpm

rpm(Redhat Package Manager)RPM软件包管理器,是以一种数据库记录的方式来将我们所需要的套件安装到Linux主机的一套管理程序。rpm包是预先在Linux机器上编译好并打包好的文件,安装起来非常快捷。但是有一个缺点:安装环境必须与编译时的一致或相当;包与包之间存在着相互依赖的情况,安装或卸载包时需要先把依赖的包安装/卸载,如果依赖的包时系统所必须的,那就不能卸载这个包

yum

yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

源码包

Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制码并进行安装。其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境;缺点是难度较大。

7.2 rpm包介绍

RPM是 “Redhat Package Manager” 的缩写,是Redhat公司开发出来的。RPM 是以一种数据库记录的方式来将您所需要的套件安装到您的Linux 主机的一套管理程序。也就是说,您的linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间依赖相关性。RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷。但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在着相互依赖的情况;卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。

如果您的光驱中还有系统安装盘的话,我们可以通过 mount /dev/cdrom /mnt 命令把光驱挂载到/mnt目录下,那么您会在/mnt/Packages目录下看到很多.rpm的文件,这就是RPM包了。

mount /dev/cdrom /mnt/ 

每一个rpm包的名称都由 - 和 . 分成了若干部分。
就拿 “abrt-addon-pstoreoops-2.1.11-45.el7.centos.x86_64.rpm” 这个包来解释一下, “abrt-addon-pstoreoops” 为包名,
“2.1.11” 则为版本信息,
“45.el7.centos” 为发布版本号,
“x86_64.rpm” 为运行平台。其中运行平台常见的有i386, i586, i686, x86_64 ,需要您注意的是cpu目前是分32位和64位的,i386,i586和i686都为32位平台,x86_64则代表为64位的平台。另外有些rpm包并没有写具体的平台而是noarch,这代表这个rpm包没有硬件平台限制。

7.3 rpm工具用法

rpm -ivh zsh-5.0.2-25.el7.x86_64.rpm 安装
rpm -Uvh zsh-5.0.2-25.el7.x86_64.rpm 升级
rpm -e 包 卸载
rpm -qa 查询安装的包
rpm -q zsh 查询指定的包是否安装
rpm -qi zsh 查询指定包信息
rpm -qf `which ls | sed -n 2,2p` 查看一个文件是由哪个包安装的
rpm -qf `which ls | sed -n 2p` 查看一个文件是由哪个包安装的
rpm -ql 包名 列出包安装的文件

7.4 yum工具用法

yum install -y 包名 --downloadonly

只下载不安装

ll /var/cache/yum/x86_64/7/updates/packages/

下载后的默认路径

yum install -y 包名 --downloadonly --downloaddir=路径

只下载不安装,指定路径,针对没有安装过

 yum reinstall -y 包名 --downloadonly --downloaddir=路径

只下载不安装,指定路径,针对有安装过

yum install yum-plugin-fastestmirror

最优方式选择YUM源

yum check-update # 检查软件是否有更新
yum update -y # 更新所有 rpm 包
yum provides xhost # 查询哪个 rpm 包提供了 xhost 命令
yum search telnet # 以名称查找 rpm 包
yum deplist nginx # 查看 nginx 包依赖
yum clean all # 清除 dbcache headers packages metadata

##重建 yum 缓存

yum clean all
yum makecache
yum makecache fast

建立 fast_mirrors 缓存

7.5 yum搭建本地仓库

sudo yum install createrepo -y
sudo mkdir /media/CentOS7-LocalSource
sudo mount -t iso9660 -o loop /image/CentOS-7.0-1406-x86_64-Everything.iso /media/CentOS7-LocalSourcevim /etc/fstab/image/CentOS-7.0-1406-x86_64-Everything.iso /media/CentOS7-LocalSource defaults,ro,loop 0 0
sudo mkdir /media/CentOS7-LocalServer
cd /media/
sudo createrepo -v CentOS7-LocalServer
vim /etc/yum.repos.d/CentOS7-LocalServer.repo[CentOS7-LocalServer]
name=LocalServer
baseurl=file:///media/CentOS7-LocalServer
enable=1
gpgcheck=0

扩展

使yum保留下载的rpm包

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

[main]
cachedir=/home/softd/yumcache
keepcache=1
debuglevel=2

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

yum局域网软件源搭建

1、搭建Apache服务器或ftp服务器
yum安装或二进制包安装

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

3、创建yum仓库
准备createrepo:yum -y install createrepo
创建repository:createrepo /var/www/html/centos-7/
创建完成之后,会在/var/www/html/centos-7/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-7/
gpgcheck=1(改成0下面那行就不用设置了)
gpgkey=http:///*.*.*.*/centos-7/RPM-GPG-KEY-CentOS-7
enabled=1
#released updates
#[updates]
#name=CentOS-$releasever - Updates
#baseurl=http:///*.*.*.*/centos-7/
#gpgcheck=1
#gpgkey=http:///*.*.*.*/centos-7/RPM-GPG-KEY-CentOS-7
#enabled = 1

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

#yum update

转载于:https://blog.51cto.com/235571/2097654

五周第一次课(4月18日)相关推荐

  1. 十周第一次课(5月25日)

    11.10/11.11/11.12 安装PHP5 PHP官网www.php.net 当前主流版本为5.6/7.1 PHP安装最后的原因,就是因为PHP需要一个Apache的依赖包 apxs2 下载PH ...

  2. 三周第一次课(4月2日)

    2.27Linux和Windows互传文件 首先安装工具包 #yum install -y lrzsz 这个工具支持xshell,securecrt,而不支持putty 安装完就可以使用命令了 sz传 ...

  3. 分享Silverlight/Windows8/WPF/WP7/HTML5周学习导读(6月18日-6月24日)

    分享Silverlight/Windows8/WPF/WP7/HTML5周学习导读(6月18日-6月24日) 本周Silverlight学习资源更新 Silverlight读取与设置Cookies 任 ...

  4. 分享Silverlight/WPF/Windows Phone一周学习导读(07月18日-07月24日)

    上周,微软推出Silverlight新版官方网站,新网站综合旧版网站内容,并增加更多Silverlight学习资源以及案例展示,Silverlight官网是学习Silverlight开发技术的主要资源 ...

  5. Linux20180416四周第一次课(4月11日)

    4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例 LVM的原理是如下: 举例有两个磁盘,各有几个自己的分区,叫做物理卷.不同磁盘的物理卷可以组成卷组,然后在卷组里进行分逻辑卷.最后对 ...

  6. ​四周第一次课(4月11日)lvm讲解

    2019独角兽企业重金招聘Python工程师标准>>> 4.10 lvm讲解 忘记 安装包名称 解决办法: yum provides "/*/pvcreate" ...

  7. 六周第一次课(1月15日) 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下

    六周第一次课(1月15日) 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 在计算机科学中,对"正则表达式" 的定义是:它使用单个字符串来描述或匹配一系列符合 ...

  8. 一周第一次课笔记(1月22日)

    一周第一次课(1月22日) 1.1学习之初 1.2约定 1.3认识Linux 1.4安装虚拟机 1.5安装centos7 1.1学习之初 学习之前合理定位自己 给自己设定1个合理目标 计划好学习的期限 ...

  9. 六周第四次课(1月18日)

    六周第四次课(1月18日) 复习  扩展 打印某行到某行之间的内容http://ask.apelearn.com/question/559 例如:有个文件test的内容如下: ert fff ** [ ...

最新文章

  1. Java设计模式-外观模式
  2. 语音控制面板 通过linux_在Linux中,通常把设备作为( )来处理.
  3. 文本聊天室(TCP-中)
  4. 世界杯迄今最火的一场比赛 一文看懂世界杯背后的阿里云黑科技
  5. Linux使用yum install 安装程序时,提示“另外一个程序锁定了 yum;等待它退出……”
  6. 深入掌握JMS(七):DeliveryMode例子
  7. leetcode —— 6. Z 字形变换
  8. 11年写的一篇文章----智能终端安全现状及前景展望
  9. ondestroy什么时候调用_程序员最害怕的是什么—函数
  10. 设备或电脑中如何查看自己所在的公网IP
  11. iptables中SNAT、DNAT和MASQUERADE的含义【转】
  12. Freebase中的基本概念
  13. 刘冲 擦干你的泪水 试听,刘冲 擦干你的泪水歌词
  14. OpenGl 之学习笔记 glNormal3f 函数理解和光源相关知识总结
  15. 香蕉派 BPI-M2 Zero 四核开源单板计算机 全志 H2+/H3 芯片 高端设计
  16. IT精英人物——李彦宏
  17. java连接oracle报错_java 项目连接oracle 报错如下
  18. c语言 PTA2020总决赛 L1-4 调和平均
  19. Chrome密码导入
  20. 线上教学困难多?来试试轻量级互动课堂方案

热门文章

  1. 一些不常用的代码汇总(不断更新)
  2. 撰写科技奖励申报材料的“思路”“要点”与“技巧”
  3. Mac版Endnote X9在word中无法插入文献怎么办?
  4. git 如何清理操作日志_git如何清空所有的commit记录
  5. 机器人学习--MATLAB官网关于机器人方面的资料
  6. Matlab | 数字信号处理:FIR滤波器结构的实现
  7. Matlab | Matlab从入门到放弃(6)——数组
  8. 云南省计算机一级理论知识试卷,云南省计算机一级考试模拟试题理论题型
  9. Pycharm+PyQt5环境配置
  10. 【小白学习PyTorch教程】四、基于nn.Module类实现线性回归模型