介绍Linux安装包分为源码包和二进制包(源码编译后)。源码包的安装需要编译,编译后的源码包才能解析;安装需要很长时间;一般源码包格式为“\*.tar.gz”,需要到官网下载。源码包一般包含文件源码配置和检测程序(configure或config)安装说明(README)零、RPM管理强依赖www.rpmfind.net:查询库文件所属的软件包二进制包和源码包都可以同时安装,但只能启动一个RPM。一般使用默认路径安装。源码包一般是手动指定的(一般是/usr/local/src)httpd-2.2.15-15.el6.centos.1.i686.rpmhttpd:包名2.2.15:Version15:软件版本数el6:软件发布者i686:合适的硬件平台RPM包安装rpm-ivh#注意包全名的路径rpm-ivha.rpmb.rpmc.rpm#同时安装多个包--nodeps:不勾选依赖安装--replacefiles:替换文件安装,因为一个文件已经存在报错,可以用这个参数忽略--replacepkgs:替换软件包,重新安装软件--force:强制安装,--replacefilesand--replacepkgssynthesis--test:测试安装--prefix:指定安装路径rpm包升级rpm-uvh包全名RPM包查询查询位置是/var/lib/rpm/rpm-qa包名#是否安装rpm-qa|greppackagename#列出所有具有相同包名的包rpm-qipackagename#列出已安装的包详情rpm-qippackagefullname#列出未安装的包详情rpm-qilpackagename#列出软件包中的文件rpm-qfsystemfilename#查询文件系统属于哪个RPM例子:rpm-qf/bin/lsrpm-qRpackagename#查询软件包依赖的packagerpm卸载注意:卸载有依赖关系,如果不卸载根据到依赖项,会报错rpm-e包名可以使用--nodeps,不检测依赖项,但是这样会导致其他软件包无法使用rpm包验证和数字证书验证:安装文件和/var/库/rpm/目录下数据库内容对比rpm-V安装包名rpm-Vf系统文件名#检查是否被修改S:大小是否改变M:类型或文件权限是否改变5:文件是否MD5校验变化D:设备主从码是否变化L:文件路径是否变化U:隶属关系是否变化G:所属组是否变化T:修改时间是否变化手脚变了,只能用数字证书验证rpm包文件解压cpio:文件与文件库交互,问题是不能自己指定要备份或恢复的文件,有必须是其他命令来提示,如果某个系统文件有问题,可以解压问题文件修复rpm2cpiopackagefullname|cpio-idv。文件绝对路径rpm2cpio:将rpm包转为cpio格式误删系统命令修复1.重新安装2.解压文件复制到对应位置例:不小心删除了/bin/ls1.查看ls是哪个软件包属于rpm-qf/bin/ls2.模拟误删mv/bin/ls/root/3.解压命令文件rpm2cpio/mnt/cdrom/packages/cors...|cpio-idv./bin/ls4.复制到对应位置cp/root/bin/ls/bin/RPM数据库问题如果判断是RPM数据库问题,必须根据光盘或其他来源获取检查获取的SambaRPM文件rm-f/var/lib/rpm/_db.*#删除RPM数据库rpm--rebuildddb#重建数据库SRPM包源码发布,然后打包成RPM包格式:和RPM格式一样,只是有一个extra"src"flag要使用rpmbuild来管理,先解压SRPM包,将源代码编译成二进制文件,然后再将二进制文件重新打包成RPM包1、安装a,rpmbuild参数包全名--rebuild:编译SRPM包不会自动安装,手动安装--recompile:编译SRPM+自动安装b,*.specinstallrpm-iSRPMpackageunpackrpm-ba/root/rpmbuild/SPEC/httpd.specin/root/rpmbuild生成一个目录,根据一个选择对应的方法,yum在线管理解决了对RPM安装依赖性强的问题。本质:安装依然是rpm包yumsourcetobuildrpm-qa|grepyum#是否安装yum软件vim/etc/yum.repos.d/CentOS-Base.repo#查看容器内容网络yum源配置文件:/etc/yum.re-pos.d/,扩展名必须是"\.repo”,即只有“\.repo”才会生效ls/etc/yum.repos.d/#查看yum目录CDyumsourceCentOS-Media.repo#CDyum源模板文件1、挂载cd2、修改其他yum源后缀,使其失效3、修改CentOS-Media.repo文件yum常用命令yumlist#查询所有可用的软件包列表yumlist包名#查询yum源中是否打包了某个包serveryumsearchkeyword#查询yum源服务器中所有具有相同关键字的包yuminstall-ypackagename#自动回答yes安装yum-yupdatepackagename#升级指定的软件包yumremovepackagename#软件卸载,注意:卸载时要确保软件的依赖包不影响系统,否则会导致系统崩溃yumgrouplist#查询可以安装的软件组yumgroupinfo软件组名#查询软件中包含的软件groupyumgroupinstall软件组名#install软件组yumgroupremove软件组名#uninstall软件组2.源码包管理Linux中的大部分源码包都是用C语言编写的。安装源码包必须要有gcc编译器1.检查gcc编译器是否安装rpm-qgcc2.检查make编译器是否安装rpm-qamake源码包安装下载源码包下载格式:common“.tar.gz”或“.tar.bz2”保存源代码的位置:“/usr/src”:内核源代码;“/usr/local/src”:删除用户下载的源码时,直接找到安装目录删除即可。1.下载软件包2.解压3.进入解压目录4../configure软件配置检查:①检查硬件环境是否满足要求②自定义功能选项,如安装路径等③写入检测结果将系统环境和定义的功能选项写入Makefile文件注意:./configure不是系统命令,而是源码包自带的检测脚本。它必须与./configure一起执行。#指定安装目录5.makecompilation:调用gcc编译器,编译Makefile中的内容,将源代码文件编译成二进制文件6.makeclean:清除编译后的内容(非必须);如果./configure或者make报错,重新编译的时候,必须先执行makeclean7,makeinstall:installation,真正的安装过程,这时候会把安装位置写的很清楚,可以把这个内容记录下来,以及卸载补丁的制作和使用。没有必要卸载已经安装好的文件,打个补丁再做。diffParametersoldnew#比较新旧文件差异diff-Naurold.txtnew.txt>txt.patch#比较两个文件并生成补丁文件patch-pn
