Ago-linux运维群: http://hankbook.cn 笔者QQ:578843228

一、简介

软件包的分类。
源码包
脚本安装
二进制包(rpm包、系统默认包)

源码包: C语言的源代码
优点:
开源,如果有能力,可以修改源代码
可以自由选择所需要的功能
软件是贬义安装,所以更加适合自己的系统,更加稳定,效率更高
卸载方便。

缺点
安装过程步骤较多,尤其安装较大的软件集合时(LNMP环境搭建),容易出现拼写错误。
编译过程时间比较长,安装比二进制安装时间长。
因为时编译安装,新手很难解决错误。

RPM包
二进制包的优点
包管理系统简单,只通过几个明了就可以实现包的安装、升级、查询和鞋子在。
安装速度比源码包安装快得多。

二进制包得缺点
经过编译,不可看源代码
功能选择步入源码灵活。
依赖性-----

脚本安装
写成shell脚本,或者。。。ansible

二、RPM命令管理

1、命名原则
httpd-2.2.15-15.e16.centos.1.x86_64.rpm

httpd软件包名

2.2.15软件版本号

15软件发布的次数

el6.centos适合的linux平台

x86_64适合的硬件平台

扩展名
2、依赖性
树形依赖:a->b->c

环形依赖:a->b->c->a

模块依赖:网址www.rpmfind.net

模块依赖,库文件依赖,

[root@m01 Packages]# rpm -ivh mysql-connector-odbc-5.1.5r1144-7.el6.x86_64.rpm

error: Failed dependencies:

libltdl.so.7()(64bit) is needed by mysql-connector-odbc-5.1.5r1144-7.el6.x86_64

libodbcinst.so.2()(64bit) is needed by mysql-connector-odbc-5.1.5r1144-7.el6.x86_64

unixODBC is needed by mysql-connector-odbc-5.1.5r1144-7.el6.x86_64

 

3、包全名和包名

不存在系统用包全名

系统存在用包名

4、安装

rpm -ivh 包全名
参数

-i install 安装

-v verbose 显示详细信息

-h hash 进度

--nodeps 不检测依赖性

 

5、升级
rpm -Uvh 包全名

-U upgrade 升级
6、卸载
rpm -e 包名
7、其他
rpm -qa

-q query

-a all

rpm –qi

#安装fpm,fpm是一个自己网上找rpm包

rpm -ivh fpm-1.6.3-1.x86_64.rpm

fpm使用
-s:指定源类型
-t:指定目标类型,即想要制作为什么包
-n:指定包的名字
-v:指定包的版本号
-C:指定打包的相对路径
-d:指定依赖于哪些包
-f:第二次打包时目录下如果有同名安装包存在,则覆盖它
-p:输出的安装包的目录,不想放在当前目录下就需要指定
-post-install:软件包安装完成之后所要运行的脚本;同-after-install
-pre-install:软件包安装完成之前所要运行的脚本;同-before-install
-post-uninstall:软件包卸载完成之后所要运行的脚本;同-after-remove
-pre-uninstall:软件包卸载完成之前所要运行的脚本;-before-remove

 


#1.做好快照
#2.开启yum缓存 /etc/yum.conf 的keepcache=1

sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf


#3.创建存放rpm包的目录

mkdir -p /server/rpm_dir/


#4.下载编译安装的依赖包

yum -y install openssl-devel pcre-devel


#5.把yum安装的包放入/server/rpm_dir/目录下

find /var/cache/ -type f -name "*rpm" |xargs -i cp {} /server/rpm_dir/


#6.下载依赖包(/server/rpm_dir/)到电脑备用
#7.编写脚本  vi nginx_rpm.sh

#!/bin/sh
useradd www -u 888 -M -s /sbin/nologin
ln -s /application/nginx-1.10.2 /application/nginx
chown -R www. /application/nginx*


#8.安装nginx

#wget http://nginx.org/download/nginx-1.10.2.tar.gz    

#下载版本,可以直接把链接的版本号改了。(nginx,php测试成功)

useradd -M -s /sbin/nologin www
./configure  --user=www --group=www --prefix=/application/nginx-1.10.2 --with-http_stub_status_module  --with-http_ssl_module
make
make install


#9.制作rpm包

fpm -s dir -t rpm -n nginx -v 1.10.2 -d 'pcre-devel,openssl-devel' --post-install /server/scripts/nginx_rpm.sh -f /application/nginx-1.10.2/

#10.把nginx的rpm包传到windows下
#11.还原快照
#12.上传所有的rpm包到linux下的一个目录下面
#13.安装nginx(测试)

yum localinstall nginx-1.10.2-1.x86_64.rpm


二。php制作   (写给自己看)

yum仓库的定制
vi /server/scripts/after_php.sh
#!/bin/sh
ln -s /application/php-5.5.32  /application/php


vi /server/scripts/before_php.sh
#!/bin/sh
useradd nginx -M -s /sbin/nologin
ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/

fpm -s dir -t rpm -n php -v 5.5.32 -d 'libmcrypt-devel mhash mcrypt zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel curl-devel openssl-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel' --before-install /server/scripts/before_php.sh --after-install /server/scripts/after_php.sh -f /application/php-5.5.32/
自己看的

相关文章:

  • 2022-12-23
  • 2021-11-24
  • 2022-12-23
  • 2021-12-31
  • 2021-10-16
  • 2022-12-23
  • 2021-07-12
猜你喜欢
  • 2021-08-12
  • 2021-08-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案