手记

linux下软件安装知识整理

一.软件包安装
分类
源码包
二进制包(RPM包,系统默认包)
源码包
优点
1.开源

  1. 可以自由选择所需的功能
  2. 软件是编译安装,适合自己系统,更加稳定,效率更高
  3. 卸载方便

缺点

  1. 安装过程步骤较多,容易出错
  2. 编译时间较长,安装比二进制安装要长
    3.编译安装,报错,新手难以解决

二进制包
优点

  1. 包管理系统简单,只用几个命令就可以实现安装、升级、查询和卸载
  2. 安装速度比源码包快多了
    缺点
  3. 经过编译,不再可以看到源代码
  4. 功能选择不如源码包灵活
  5. 依赖性

二. RPM包管理
简介
1、RPM包的来源:所有RPM包都在系统光盘的Packages目录中
2、RPM包命名规则:软件包名-软件版本-软件发布的次数-适合的Linux平台-适合的硬件平台-包扩展名
3、RPM包依赖性:
a、树形依赖:a->b->c 解决方法:从后往前安装
b、环形依赖:a->b->c->a 解决方法:放在一条命令中安装即可
c、模块依赖:库文件依赖,库也叫模块,就是linux当中的函数,它有一个典型的特征,就是以【.so.数字】结尾,它依赖的其实是一个文件,而不是软件包。该文件藏身在某一个软件包当中。我们只要将该文件所在的软件包安装上,该文件也就安装了。解决方法:登录www.rpmfind.net网站,输入库文件名称查询到对应的rpm包,然后安装即可。
4、yum在线安装:可以方便的解决依赖文件,一条命令就可以帮用户从网上(本地也可以)找到安装包进行安装。
注:RedHat的yum是收费服务,而CentOS的yum是免费服务

安装
1、包全名与包名
包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径
包名:操作已经安装的软件包时,使用包名,是搜索/var/lib/rpm/中的数据库
2、RPM安装
rpm -ivh 包全名
选项:
-i(install)安装
-V(verbose)显示详细信息
-h(hash)显示进度
--nodeps不检测依赖性

升级
rpm -Uvh 包全名
参数选项:-U(upgrade) 升级

卸载
rpm -e 包名
选项:-e(erase) 卸载
--nodeps 不检查依赖

三、RPM包查询
查询方式:
1、 rpm -q 包名 查询包是否安装; rpm -qa 查询所有安装的rpm包。rpm -qa grep httpd
2、 rpm -qi 包名 查询包详细信息。 -i : 查询软件信息; -p :查询未安装包信息。rpm -qip xxxx
3、 rpm -ql 包名 查询包中文件安装位置。 -l:列表; -p:查询未安装包信息。rpm -ql httpd
4、 rpm -qf 系统文件名 查询系统文件属于哪个RPM包。 (必须为系统包 不能是自己新建的) rpm -qf xxx
5、 rpm -qR 查询依赖性。 -R:查询依赖性; -p:查询未安装包信息。

四、RPM包校验
rpm -V(大写V) 已安装的包名
V(verify):校验指定RPM包中的文件;

!!该命令执行之后,如果没有任何回馈信息,则表示该文件一切正常!!

验证内容中的8个信息得具体内容如下:
①S:文件大小是否改变;
②M:文件的类型或文件的权限(rwx)是否被改变;
③5:文件MD5校验和是否改变(可以看成文件内容是否改变)
④D:设备的主从代码是否改变;
⑤L:文件路径是否改变;
⑥U:文件的属主(所有者)是否改变;
⑦G:文件的属组是否改变;
⑧T:文件的修改时间是否改变;
文件类型:
①c:配置文件(config file)
②d:普通文档(documentation)
③g:“鬼”文件(ghost file),很少见,就是该文件不应该被这个RPM包 包含;
④L:授权文件(license file)
⑤r:描述文件(read me)
RPM包中文件提取:
rpm2cpio 包全名 cpio -idv .文件绝对路径
--> 前面的【.】代表当前路径,不能省略。【文件绝对路径】和包里文件的绝对路径对应,也就是告诉了cpio要去包里提取哪个文件。
注:cpio只知道提取文件,并不知道要从什么地方提取文件,因此我们通常要使用【】管道符或【<】输入重定向告诉cpio我们应该从什么设备去取出文件。
①-rpm2cpip //将rpm包转换为cpio格式的命令;
②-cpip //是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件;

使用输入重定向的cpio命令格式:
cpio 选项 < [文件设备]
①-i:copy-in模式,还原;
②-d:还原时自动新建目录;
③-v:显示还原过程;

五、YUM在线安装
YUM源文件
1、yum的优点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。(rpm缺点:安装过程中,rpm包依赖性太强)
2、redhat的yum在线安装需要付费,centOS不需要。
3、在【/etc/yum.repos.d/】目录中,默认有4个yum源文件,其中【CentOS-Base.repo】是基本yum源文件,如果我们能上网,那它是默认生效的,而其他的都是默认不生效的。
4、配置介绍
[base]:名字可以随便起。
name:名字也是随便起。
mirrorlist和baseurl一个是主站点,一个是辅助站点,这两个有一个就行。可以找一个163或清华大学的yum源更换。
enabled:默认最后一个容器不生效,其他容器都生效。
gpgcheck:一般都要开启,开启后安装时会验证rpm包是否是官方的,以保证系统安全。
gpgkey:默认系统安装后,在目录【/etc/pki/rpm-gpg】下都会存在数字证书。注:前面的【file://】表示文件协议,后面的【/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6】是数字证书的位置。

光盘搭建YUM源
有三个步骤:
1、挂载光盘;
2、使网络yum源【CentOS-Base.repo】失效;
3、使光盘yum源【CentOS-Media.repo】生效,需要编辑【CentOS-Media.repo】文件,修改【baseurl】和【enabled】两项内容,操作如下:
[root@CentOS6 yum.repos.d]# vi CentOS-Media.repo
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom/   -->将baseurl设置为实际光盘挂载地址(另外两个要注释掉,否则会因为找不到光盘而报错。【#】注释时,必须写在行开头)

file:///media/cdrom/
file:///media/cdrecorder/

gpgcheck=1
enabled=1  -->将enabled设置为1,使这个yum源配置文件生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
编辑后保存退出即可。
注:可以使用【yum list】命令列出当前yum源中的所有rpm包:即更新数据库
[root@CentOS6 yum.repos.d]# yum list
......省略部分内容......
Available Packages
389-ds-base.i686 1.2.11.15-29.el6 c6-media
389-ds-base-devel.i686 1.2.11.15-29.el6 c6-media
389-ds-base-libs.i686 1.2.11.15-29.el6 c6-media
......省略部分内容......
可以从后面的【c6-media】看出这是光盘yum源,因为这是光盘yum源文件【CentOS-Media.repo】中定义的名字。

YUM命令
1、常用yum命令:
查询:
①yum list:查询目前使用的yum源中所有可用软件包列表;
②yum search 关键字:搜索服务器上所有和关键字相关的包;
安装:
①yum -y install 包名
⑴-install:安装;
⑵-y:自动回答yes;
②例如:yum -y install httpd
升级:
①yum -y update 包名
⑴-update:升级;
⑵-y:自动回答yes;
卸载:
②yum -y remove 包名
⑴-remove:卸载;
⑵-y:自动回答yes;
!!!服务器使用最小化安装,用什么软件安装什么,尽量不要卸载!!!

  1. yum软件组管理命令
    yum grouplist:列出所有可用的软件列表;
    yum groupinstall 软件组名:安装指定软件组,组名可以由grouplist查询出来;
    yum gourpremove 软件组名:卸载指定软件组;
    ①LANG=en_US:切换至英文;(临时生效)①
    ②LANG=zh_CN.utf8:切换至中文;(临时生效)②

六、源码包管理
源码包和RPM包区别
安装后区别:安装位置不同
RPM包安装在默认位置:

源码包安装在指定位置中,一般是/usr/local/软件名/

安装位置不同带来的影响
1、源码包是不能使用【service】命令来启动服务,因为源码包的安装位置由用户指定,放在哪并不统一。而rpm包安装后,通常都是放在【/etc/rc.d/init.d】目录中的,而【service】命令执行时,会自动搜索该目录,所以rpm包安装的服务可以使用【service】命令。
1).rpm包安装位置不用指定,源码包安装位置必须指定。源码包没有卸载命令。卸载时直接删除文件夹即可。源码包默认启动方法/usr/local/apache2/bin/apachetl start
2).rpm包启动方式两种 service XXXX start(red hat 系列专属) 或 /etc/rc.d/init.d/xxx start

安装过程
1.源码包保存位置:/usr/local/src/
2.软件安装位置:/usr/local/
3.如何确定安装过程报错:
安装过程停止;
并出现:error、warning或no的提示;

  1. 下载源码包解压缩下载的源码包进入解压缩目录;
  2. ./configure:软件配置与检查
    定义需要的功能选项; ./configure --prefix=PREFIX
    检测系统环境是否符合安装要求;
    .把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑;
  3. make:编译
    如果报错,可执行“make clean” :清除编译缓存文件;
    make install:编译安装

源码包的卸载无需卸载命令,直接删除安装目录即可,不会遗留任何垃圾文件;

8人推荐
随时随地看视频
慕课网APP

热门评论

源码包的安装是不是没有依赖的问题了?

写的真详细,复习一边,谢谢!

查看全部评论