软件包管理简介
软件包分类:源码包;脚本安装包;二进制包(RPM包、系统默认包) 源码包优点:开源,可以修改源代码;可以自由选择所需的功能;软件是编译安装,所以更加适合自己的系统,稳定性更好,效率更高;卸载方便。 源码包缺点:安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误;编译过程时间较长,比二进制安装时间长;安装过程报错新手很难解决。
二进制包(RPM包)的优点:包管理系统简单,只通过几个命令就可以实现包的安装,升级,查询和卸载;安装速度比源码包快; RPM包缺点:经过编译,不再可以看到源代码;功能选择不如源代码灵活;具有依赖性
RPM包管理—rpm命令管理
kernel-tools-3.10.0-327.el7.x86_64 kernel-tools 软件包名 3.10.0 软件版本 327 软件发布的次数 el7 适合的linux平台 x86_64 适合的硬件平台
模块依赖查询网站:www.rpmfind.net 包全名:操作的包是没有安装的软件包时,使用包全明,而且要注意路径 包名:操作已经安装的软件包时,使用包名,是搜索/var/lib/rpm中数据库
rpm安装:rpm -ivh 包全名 -i(install)安装,-v(verbose)显示详细信息,-h(hash)显示进度 --nodeps不检测依赖性。 rpm包升级:rpm -Uvh 包全名 -U(upgrade)升级 rpm 包卸载:rpm -e 包名 -e(erase)卸载 --nodeps不检测依赖性 rpm -qa 查询所有已经安装的RPM包 -a(all) -q(query查询) rpm -q 包名 查询指定的包是否存在。 选项:-i 查询软件详细信息 -p查询未安装包信息 -l 列表 -f 查询系统文件属于哪个软件包 -R查询软件包的依赖性 -V校验指定RPM包中的文件(verify) rpm -ql 包名 rpm -qf 系统文件名 [root@localhost etc]# rpm -qf yum.conf yum-3.4.3-132.el7.centos.0.1.noarch
验证内容中的8个信息的具体内容如下: S 文件大小是否改变 M 文件的类型或文件的权限是否被改变 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 文件绝对路径 rpm2cpio 将rpm包转换为cpio格式的命令 cpio 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件。 cpio [options] <[文件|设备] -i: copy-in模式,还原 -d: 还原时自动新建目录 -v:显示还原过程
RPM包管理—yum命令管理
vi /etc/yum.repos.d/lCentOS-Base.repo [base] 容器名称,一定要放在[]中 name 容器说明,可以自己随便写 mirrorlist 镜像站点,这个可以注释掉 baseurl 我们的yum源服务器的地址,默认是CentOS官方的yum源服务器,是可以使用的,但是有的慢,可以改成国内的阿里… enabled 此容器是否生效,如果不写或写成enabled=1都是生效,写成enabled=0则不生效 gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效 gpgkey 数字证书的公钥文件保存位置。不用修改。
常用yum命令 1) 查询: yum list 查询所有可用软件包列表 yum search 关键字 搜索服务器上所有和关键字相关的包。 2) 安装: yum install 包名 -y install安装 -y自动回答yes 3)升级: yum update 包名 -y update升级 记得写包名,否则将升级整个系统 4)卸载: yum remove 包名 -y remove 卸载
yum软件组管理命令 yum grouplist 列出所有可用的软件组列表 yum groupinstall 软件组名 安装指定软件组,组名可以由grouplist查询出来 yum groupremove 软件组名 卸载指定软件组
源码包管理
RPM包默认安装路径 /etc/ ---------------------------配置文件安装目录 /usr/bin/ -------------------可执行的命令安装目录 /usr/lib/ -------------------程序所使用的函数库保存位置 /usr/share/doc/------------------ 基本的软件使用手册保存位置 /usr/share/man/ -------------帮助文件保存位置 源码包安装位置:---------------一般是/usr/local/软件名/
安装位置不同带来的影响: RPM包安装的服务可以使用系统服务管理命令(service)来管理,列如RPM包安装的apache的启动方法是:/etc/rc.d/init.d/httpd start service httpd start 源码包安装的服务则不能被系统服务管理命令管理,因为没有安装到默认路径中,所以只能用绝对路径进行服务的管理,如:/usr/local/apache2/bin/apachectl start 源码包保存位置:/usr/local/src/ 软件安装位置:/usr/local 如何确定安装过程报错: 安装过程停止并出现error,warning或No的提示
源码包安装过程: 下载源码包 解压缩源码包 进入解压缩目录
./configure软件配置与检查: 定义需要的功能选项;检查系统环境是否符合安装要求;把定义好的功能选项和检查系统环境的信息都写入Makefile文件,用于后续的编辑。
./configure - -prefix=PREFIX ---------------指定安装目录 make --------------------------------------------- 编译 make clean -------------------------------------(如果编译报错,则执行这一步清除编译缓存,重新编译) make install ---------------------------------- 编译安装 PREFIX/bin/apachectl start
./configure --prefix=/usr/local/apache2
源码包的卸载: rm -rf /usr/local/apache2/ 不需要卸载命令,直接删除安装目录即可,不会遗留任何垃圾文件
