2017.11.13 五周第一次课

7.1 安装软件包的三种方法

在Linux下安装卸载软件包和 Windows下差不多

它有三种方法:

rpm工具

yum工具

源码包

rpm包:和Windows下的exe文件比较像,直接用rpm工具就可以装上,安装路径和文件名基本上都是固定好了的

yum工具:是另外一种工具去安装rpm包的 yum 属于是一个用python开发的一种工具,他操作的对象是rpm包,它比rpm工具有一个优势,支持自动安装依赖包。

总之Centos或者Redhat下这种包叫做rpm包(红帽子公司包管理系统)

源码包:需要通过一种编译器将源码包编译成可执行的文件

在上述三种方法中源码包最难,yum工具最简单

7.2 rpm包介绍

纲要:

输入图片说明

rpm="Redhat Package Manager" 。是Redhat公司开发的。RPM是一种数据库记录的方式,将我们所需要的套件安装到Linux主机的一套管理程序。Linux系统中,存在着一个关于RPM的数据库,记录了安装的包以及包与包之间依赖相关性。RPM包是预先在Linux机器上编译好并打包好的文件,安装起来非常快捷。

缺点:安装的环境必须与编译时的环境一致或者相当,包与包之间存在着相互依赖的情况,卸载包时需要先把依赖的包卸载掉。如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。

首先我们需要打开我们的虚拟机将光驱链接上,链接到Linux系统里面来将其挂载。

输入图片说明

输入图片说明

继续上述操作,因为虚拟机的光驱中还有系统安装盘镜像,把光盘挂在到/mnt 目录下,则会在/mnt/Packages 目录下看到很多 .rpm 的文件。

#mount /dev/cdrom /mnt/

mount: block device /dev/sr0 is write-protected, mounting read-only

#ls /mnt/Packages

389-ds-base-1.2.11.15-29.el6.i686.rpm

389-ds-base-libs-1.2.11.15-29.el6.i686.rpm

abrt-2.0.8-21.el6.centos.i686.rpm

autocorr-af-4.0.4.2-9.el6.noarch.rpm

autocorr-bg-4.0.4.2-9.el6.noarch.rpm

autocorr-ca-4.0.4.2-9.el6.noarch.rpm

python-volume_key-0.3.1-5.el6.i686.rpm

python-weberror-0.10.2-2.el6.noarch.rpm

输入图片说明

python-weberror 0.10.2 2.e16. noarch

abrt 2.0.8 21.e16.centos i686

每一个rpm包的名称,都由 - 和 . 分成了若干部分。

版本号分三个等级,主版本-次版本-修正版本。

运行平台常见的有i386,i586,i686,x86_64,需要注意的是cpu目前是分32位和64位的。i386,i586,i686 是32位平台,x86_64代表64位平台。另外有些rpm包并没有写具体的平台,而是noarch,这代表rpm包没有硬件平台限制。

7.3 rpm工具用法

安装一个rpm包

#rpm -ivh [绝对路径,包信息包括名字,版本号,平台信息]

输入图片说明

  -i		安装的意思

  -h		显示安装进度

  -v		可视化

  --force	强制安装,已安装的文件,会提示已安装,增加force选项则不提示,

  --nodeps	当要安装的rpm包依赖其他包时,及时其他包没有安装,也要安装这个包

NOTE:如果两个包A和B存在依赖关系,安装A需要安装B,安装B的时候,又需要安装A,单独安装都不成功,解决方法,可以同时安装两个包,rpm -ivh A B;或者使用nodeps强制分开安装。卸载的时候,也需要同时卸载。尝试安装两个相互依赖的包 ypbind,yp-tools。

#rpm -ivh yp-tools................ ypbind...............

或者

#rpm -ivh --nodeps yp-tools....................

#rpm -ivh --nodeps ypbind...............

尽量少用 --nodeps , 避免引起不必要的麻烦

升级一个rpm包

#rpm -Uvh 完整filename

-U upgrade

NOTE:升级一个包的时候,包的主版本号要一致,否则会引起错误。

autocorr-af-4.0.4.2-9.el6.noarch.rpm

autocorr-bg-4.0.4.2-9.el6.noarch.rpm

autocorr-ca-4.0.4.2-9.el6.noarch.rpm

卸载一个rpm包

#rpm -e filename

卸载时后面跟的 filename 和安装时的是有区别的,安装时把一个存在的文件作为参数,而卸载时只需要包名即可。无需使用绝对路径。

强制安装一个包

#rpm -ivh --force yp-tools.........................

查询安装了哪些包

查询一个已安装rpm包的信息

列出rpm包安装的文件

查询一个包是否安装

#rpm -q 包名(不带有平台信息以及后缀名的)

查询当前系统所有安装过的rpm包

#rpm -qa

#rpm -qa |head 【只显示前10个已安装的rpm包】

得到一个已安装rpm包的相关信息

#rpm -qi 包名(不带有平台信息以及后缀名的,如 libjpeg-turbo-devel)

列出一个rpm包安装的文件

#rpm -ql 包名(不带有平台信息以及后缀名的)

输入图片说明

上述信息,可以看出文件"/usr/lib/libjpeg.so"是通过libjpeg-turbo-devel这个rpm包得来的。反过来,如何通过一个文件去查找是由哪个rpm包得来的。

列出某一个文件属于哪个rpm包

#rpm -qf /usr/lib/libjpeg.

尝试查找ls、vim、vi是哪个包安装的

#which ls which vim which vi

#rpm -qf /usr/bin/ls

或者使用反引号,tab上面的符号,反引号的目的,是显示这个命令的结果

#rpm -qf which ls

输入图片说明

使用单引号,返回的命令,如果只包含路径,是可以查询得到此命令是通过哪个包安装的,如 vim、vi,如果返回的命令包含其他说明信息,则无法使用,例如which ls

7.4 yum工具用法

纲要:

输入图片说明

yum最大的的优势在于可以联网下载所需要的yum包,然后自动安装。这个过程中如果安装的rpm包有依赖关系,yum会依次安装所有rpm包。也可以指定rpm包的来源网站。

yum使用python写的工具,所以升级了python,yum就不能使用了,要注意。

首先列出所有可用的rpm包

#yum list

输入图片说明

输入图片说明

小提示:安装信息处,带有“@”符号的表示已经安装了,@ananconda,@updates,@bash等,未安装显示"base"、"extras",如果是已安装的rpm包需要升级,显示"updates"。"yum list" 会先列出已经安装的包(installed packages),然后再列出可以安装的包(Available Packages)。

搜索一个rpm包

#yum search [相关关键词]

#yum search vim 

#yum list |grep 'vim'    【注意此处是单引号】【grep可以过滤】

安装一个rpm包

#yum install -y [包名,版本信息,建议使用tab]

#yum install -y vim-X11

可以试着安装搜索出来的rpm包

卸载一个rpm包

#yum remove -y [包名]

卸载yum包的时候,不能连其他重要的 rpm 包也一起卸载了,以免影响正常业务。尽量不加-y,因为各个包会有相互依赖关系,待系统提示后再决定是否卸载

升级一个 rpm 包

#yum update  [rpm 包]
	
#yum update  libselinux

搜索以及安装过的包

#yum list installed

搜索可安装的包

#yum list available	

搜索特定的命令属于哪个包

#yum provides man

#yum provides tree

修改yum配置网址

#vim /etc/yum.repos.d/Centos-Base.repo	

yum源的配置文件,可以再这个文件中修改网址,使用指定的源网址。不建议更改。

  #yum grouplist   	【可安装的,已安装的套件】

  #LANG=en		【将语言更改为英语才可以安装】

  #yum groupinstall “包名”

  #yum groupremove "包名"

7.5 yum搭建本地仓库

本地yum源不作为重点,了解即可。

Linux系统不能联网,不能使用yum源。这时候需要自己利用Linux系统光盘制作一个 yum 源。

   #rm /etc/yum.repos.d/CentOS-Base.repo	【删除后,不可以使用联网下载rpm包】

   #mv /etc/yum.repos.d/CentOS-Base.repo /tmp/yum.repos.d/CentOS-Base.repo	

保险起见,先备份一下

 #vim /etc/yum.repos.d/CentOS-Media.repo

输入图片说明

完成后

#yum list			【右侧的名字,变成Local_cdrom模块名】

#yum grouplinstall -y "xxxxxxx"   	【此处使用的便是本地宝】

方法二:

#mkdir /dvd

#mount /dev/cdrom /dvd 【挂载光盘】【目录可自定义】

#cp -r /etc/yum.repos.d /etc/yum.repos.d.bak 【备份/etc/yum.repos.d,保险起见】

#rm -rf /etc/yum.repos.d/*

#vim /etc/yum.repos.d/dvd.repo 【创建新文件dvd.repo】

写入

[dvd]

name=install dvd

baseurl=file:///mnt

enabled=1 【是否启用该yum源,0禁用】

gpgcheck=0 【是否检查该yum源,0不检查,如果不是官网下载的镜像,建议检查,那就只去官网下载。】

#yum makecache 【刷新repos 生成缓存】

上述步骤完成就可以使用yum命令安装软件包。如果不想使用本地yum源,删除掉 /etc/yum.repos.d/dvd.repo 文件,然后恢复原来的配置文件 /etc/yum.repos.d

(视频中ppt小错误: gpcheck改为gpgcheck,yum cean 改为 yum clean)

转载于:https://my.oschina.net/u/3461300/blog/1573040

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值