码迷,mamicode.com
首页 > 系统相关 > 详细

Linux运维 第二阶段 (三)软件安装

时间:2015-05-03 19:08:03      阅读:150      评论:0      收藏:0      [点我收藏+]

标签: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存储方式),(输出块为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 解压目录;查看安装文档(installreadme);编译前准备(./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                   列出系统缓存中所有识别的函数库

 

 

 

 

                                                来自兄弟连培训

 


Linux运维 第二阶段 (三)软件安装

标签:linux运维

原文地址:http://jowin.blog.51cto.com/10090021/1641424

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!