软件包安装
软件包安装
rpm
rpm(Red Hat Linux软件包管理工具),rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序
语法:
rpm [选项] [软件包]
常用选项:
-a:查询所有套件; -b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称; -c:只列出组态配置文件,本参数需配合"-l"参数使用; -d:只列出文本文件,本参数需配合"-l"参数使用; -e<套件档>或--erase<套件档>:删除指定的套件; -f<文件>+:查询拥有指定文件的套件; -h或--hash:套件安装时列出标记; -i:显示套件的相关信息; -i<套件档>或--install<套件档>:安装指定的套件档; -l:显示套件的文件列表; -p<套件档>+:查询指定的RPM套件档; -q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户; -R:显示套件的关联性信息; -s:显示文件状态,本参数需配合"-l"参数使用; -U<套件档>或--upgrade<套件档>:升级指定的套件档; -v:显示指令执行过程; -vv:详细显示指令执行过程,便于排错。
1.安装 rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度; 2.查询 RPM 查询操作 命令: rpm -q … 附加查询命令: a 查询所有已经安装的包以下两个附加命令用于查询安装包的信息; i 显示安装包的信息; l 显示安装包中的所有文件被安装到哪些目录下; s 显示安装版中的所有文件状态及被安装到哪些目录下;以下两个附加命令用于指定需要查询的是安装包还是已安装后的文件; p 查询的是安装包的信息; f 查询的是已安装的某文件信息; 例,rpm -qa | grep tomcat4 查看 tomcat4 是否被安装; 3.RPM 卸载操作 命令: rpm -e 需要卸载的安装包 在卸载之前,通常需要使用rpm -q …命令查出需要卸载的安装包名称。 举例如下: rpm -e tomcat4 卸载 tomcat4 软件包; 4.RPM 升级操作 命令: rpm -U 需要升级的包 举例如下: rpm -Uvh example.rpm 升级 example.rpm 软件包;
注意:但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。所以很多情况下我们出于方便,选择使用yum包管理器来进行安装。Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器(例如淘宝镜像、腾讯云、网易镜像等,可自己配置)自动下载RPM包并且安装,可以自动处理软件包的依赖关系,一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum源
如何配置linux上的本地yum源
yum是什么,yum源又是什么
在windows上安装一个软件,我们可以通过360管家。因为360管家提供了软件的安装,卸载,并且解决了软件之间的依赖等相关问题,使得我们能够一键安装。在linux上有一个提供了和360管家类似功能的工具,叫做yum。使用yum我们就可以做到一个命令安装软件,并且不同的发行linux有不同工具,例如红帽(read hat)linux就使用的rpm全称就是read hat package manager 红帽软件包管理工具。
yum源是什么呢?我们安装软件的时候需要下载软件,将很多软件放在一起就是源。软件安装包的来源。所以yum源就是软件安装包来源。如果我们是在线的,他会在网上给你下载安装包,如果是离线的没有网络。那么就只能配置本地的yum源了。
与yum源相关的配置文件
上图就是yun源相关的配置,在路径/etc/yum.repos.d/目录下,一共4个文件,说下两个常用的。
- CentOS-Base.repo:有网的环境下默认使用这个,这个是第一优先级。因为没网,所以修改文件名,设置成备份文件。这样系统就会使用第二优先级的文件。
- CentOS-Media.repo:没网的环境下使用这个,在上图中会发现他默认配置了4个路径,第4个yumsource是我自己加的。意思是说,如果系统检测yum使用了离线安装,那么会从上到下从这4个路径中查找安装软件。所以我们只要把光盘挂载在这四个目录下的任意一个目录即可。同时,该配置文件默认是不启用的,如果想使用需要修改倒数第二行的enabled为1,否则该文件无效。
yum的工作原理
1.刨根问底---什么是yum源?yum的工作原理?
说到yum源就必须说到linux系统中特有的依赖关系问题,yum就是为了解决依赖关系而存在的。yum源就相当是一个目录项,当我们使用yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。
YUM是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。
YUM的基本工作机制如下:
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装
2.yum文件
[root@linux-6 ~]# vim /etc/yum.repos.d/ google-chrome.repo local-yum.repo rhel-source.repo [root@linux-6 ~]# vim /etc/yum.repos.d/ //在yum.repos.d 目录下存放的就是yum源的设定文件。 [root@linux-6 ~]# vim /etc/yum.repos.d/rhel-source.repo //打开一个yum源的设定文件 [rhel-source-beta] //yum源的名称,起到标记yum源的作用, name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source //仅仅是对yum的描述,作用是使用户可以更容易的读懂该文件。 baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/ //我们指定的查找依赖关系软件的路径,(该路径可以是一个网址路径,也可以是本机上的一个路径。) enabled=0 //enabled 是使能够的意思,0表示baseurl定义的路径是不可用的,1表示定义的路径是可用的。 gpgcheck=1 //gpgcheck表示是否进行gpg检测,0表示不进行,1表示进行。gpg检查就是在使用yum安装软件是对软件输入公钥进行验证,看是否来源安全。 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release //进行gpg检查时,使用file协议导入公钥,后面接的路径就是系统自带的公钥存放路径。 ftp:// 表示使用的是ftp协议连接路径,该协议一般用于非本地连接,本地yum使用的协议是:"file://"文件协议
3.两种yum源:本地yum源和网络yum源。本次只谈本地yum源
搭建本地yum源,我们首先就要有提供源的文件包,一般的Linux系统的镜像文件iso中就含有搭建yum源所需的rpm文件。若是没有建议到网上下载,注意要和自身使用的系统版本一致。
3.1确定iso镜像文件的位置 //其实是因为iso文件中有yum源所需的rpm包,好在下一步中实施挂载,若是知道你电脑上的iso文件在什么地方,则无需这步。 3.2新建一个仓库目录 //用来存放本地yum源。 [root@linux-6 ~]# mkdir /iso 3.3.1挂载镜像文件到/iso目录 //主要是获得iso软件 [root@linux-6 ~]# mount -o loop /***.iso /iso // /***.iso 表示镜像文件所在本机上的绝对路径。 3.3.2如果你有光驱也有光盘,并且光驱已经挂载,则只需使用如下命令: [root@linux-6 ~]# mount /dev/cdrom /iso
4.查看挂载
//主要是确认挂载是否成功
[root@teacher ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/sda3 ext4 321G 142G 163G 47% / tmpfs tmpfs 1.9G 336K 1.9G 1% /dev/shm /dev/sda1 ext4 92G 233M 87G 1% /boot /var/ftp/software/iso/rhel6.3.x86.iso iso9660 2.9G 2.9G 0 100% /iso [root@teacher ~]#
5.在yum源文件中指定iso镜像文件所挂载到的目录的路径,并将使用的协议改成file协议。
[root@teacher ~]# vim /etc/yum.repos.d/rhel-source.repo [rhel-source-beta] name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source baseurl=file:///iso //这是主要的不同之处,使用的是file协议,指定的路径是/iso enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
6.清除缓存,使最新的yum配置生效。
[root@linux-6 ~]# yum clean all [root@linux-6 ~]# yum list
挂载
media目录与mnt目录
挂载光盘或者u盘等使用的mount命令,但是你百度所有会说有挂在media目录下,也有挂载在mnt目录下的。这两个目录区别是什么呢?
media:挂载一些移动设备,例如光盘,U盘等。
mnt:挂载一些硬盘等设备。所以我们的光盘应该挂载在media目录下,从yum给的默认配置文件也能看出。
挂载光盘到系统上
如上图,首先执行df -h命令发现当前系统没有光盘信息,然后挂载目录之后,在查看就发现我们把光盘挂载到了系统上,光盘大小4.2G。
-o loop :指定挂载文件类型,说简单点就是我要挂载的是光盘这种设备。
卸载光盘
执行df -h发现光盘是挂载的,然后执行umount命令之后,在查看发现设备被卸载了