Linux运维 第二阶段 (三)软件安装
Linux运维第二阶段(三)软件安装
1、分类:源码包、二进制包
源码包:优(开源,有能力可修改源代码;可自由选择所需功能;编译安装,更适合自己的系统,稳定且高效;卸载方便);缺(安装步骤多,尤其较大软件集合,如LAMP环境搭建,容易出现拼写错误;编译安装时间长;安装过程一旦报错,新手很难解决)。
二进制包:优(包管理简单,只通过几个命令就可实现安装、升级、查询、卸载;安装进度比源码包快的多);缺(经过编译,不再可看到源代码;功能选择不如源码包灵活;依赖性很繁琐)。
依赖性:树形依赖(a->b->c);环形依赖(a->b->c->a);模块依赖(www.rpmfind.net)
2、rpm安装
》httpd-2.2.15-15.el16.centos.1.i686.rpm
2.2.15软件版本;-15软件发布的次数;el16软件发行商,RHEL6.x
》默认安装位置:
/etc;/usr/bin;/usr/lib;/usr/share/doc;/usr/share/man
》#rpm -ivh 包全名 (install\verbose\hash)
--nodeps 不检测依赖性
--replacefiles 替换文件安装
--replacepkgs 替换软件包安装
--force 强制安装,相当于以上两项的结合
--test 测试安装,不会实际安装
--prefix 指定安装目录
》#rpm -Uvh 包全名 upgrade旧版升到新版,无旧版也安装
#rpm -Fvh 包全名 freshen旧版才能升级,无旧版不安装
#rpm -e 包名 卸载
#rpm -q 包名 query查询(例:#rpm –qa|grep httpd)
#rpm -qi 包名 information查询包的信息
#rpm -qip 包全名 package查询未安装包信息
#rpm -ql 包名 list查询包中文件的安装位置
#rpm -qf 系统文件名 file查询系统文件属于哪个包
#rpm -qR 包名 recursion依赖性
#rpm -qRp 包全名 查询未安装包依赖性
》#yum -y install 包名
#yum -y remove 包名
#yum -y update 包名
#yum list 查询服务器中可以安装的包
#yum list 包名 查询服务器是否有此包
#yum search 关键字 搜索服务器上和关键字相关的包
#yum info 包名 查询指定软件包的信息
#yum grouplist 查询可以安装的软件组
#yum groupinfo “软件组名” 查询软件组内包含的软件
#yum groupinstall “软件组名” 安装软件组
#yum groupremove “软件组名” 卸载软件组
》搭建光盘 yum源
#mv CentOS-Base.repo CentOS-Base.repo.bak
#vi /etc/yum.repos.d/CentOS-Media.repo
baseurl=file:///mnt/cdrom/ 指定yum源位置
enabled=1 yum源文件生效
gpgcheck=0 rpm验证不生效
》#rpm -V 包名 verify校验指定包中文件
#rpm -Vf 系统文件名 校验系统文件是否被修改
数字证书(对即将要安装的包验证)
特点:安装原厂的公钥文件;安装rpm包时,提取rpm包中的证书信息与本机安装的原厂证书进行比对;验证通过,安装,否则不允许安装并警告。
位置:/mnt/cdrom/RPM-GPG-KEY-CentOS-6 光盘中
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 系统中
#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
3、》#cpio -ovcB > 文件|设备
备份模式o(out),v(verbose),c(portable format存储方式),B(输出块为5120byte,而不是模式的512byte)
#cpio -ivcdu < 文件|设备
还原模式i(in),d(还原时自动新建目录),u(使用较新的文件覆盖较旧的文件)
#cpio -p 目标目录
例:#find . –print | cpio -ovcB > /root/etc.cpio
#cpio -ivcdu < /root/etc.cpio
注:CentOS6.x中,如果备份时写绝对路径,则恢复时直接到绝对路径,最好使用相对路径。
例:#find /boot -print | cpio -p /tmp/test/
提取rpm包中文件:
#rpm -qf /bin/ls
#rpm2cpio /mnt/cdrom/Packages/core….. | cpio -idv ./bin/ls
#cp /root/bin/ls /bin/
注意:./bin/ls 提取ls到当前目录下
4、》源码包安装:解压;cd 解压目录;查看安装文档(install和readme);编译前准备(./configure --prefix=/usr/local/apache2/);编译make;编译安装make install
启动:#/usr/local/apache2/bin/apachect1 start
卸载:直接删除安装目录
》源码包打入补丁:
#patch -pn 要打补丁的文件 < 补丁文件
注:n为数字,按照补丁文件的路径,指定更新位置
5、》脚本安装程序:sebmin的安装
# ./setup.sh (安装位置、日志位置、perl安装位置、端口、密码、ssl不启用、启动)
6、》函数库的管理,分类:静态函数库、动态函数库
静态函数库:*.a,程序调用时被直接整合到程序中;优(程序执行时不需要调用外部数据,可直接执行);缺(文件较大,升级困难,需把整个程序重新编译)
动态函数库:*.so,程序用到时再去调用函数库。
#ldd /bin/ls (查询ls调用的函数库)
#ldd -v 可执行文件名 (详细显示版本信息)
注:软件正常安装不需调整函数库,若未安装正确手工安装:1把函数库放入指定位置/usr/lib或/lib;2把函数库所在位置写入/etc/ld.so.conf
#cp *.so /usr/lib
#vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/lib
#ldconfig 把函数库读入缓存
#ldconfig -p 列出系统缓存中所有识别的函数库
来自兄弟连培训
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。