Ago-linux运维群: 93324526 笔者QQ:578843228

一、简介

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

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

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

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

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

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

二、RPM命令管理

1、命名原则
httpd-2.2.-.e16.centos..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-.el6.x86_64.rpm

error: Failed dependencies:

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

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

unixODBC is needed by mysql-connector-odbc-5.1.5r1144-.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制作   (写给自己看)

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/

自己看的

1.创建yum仓库目录

创建目录

    mkdir -p /application/yum/centos6/x86_64
cd /application/yum/centos6/x86_64

上传rpm包    (定时rpm包)
获取rpm包的方式
    1.yumdownloader openssl-devel  (不会下载rpm包的依赖包,作为忘记开启yum缓存使用)
    2.开启yum缓存

2.安装createrepo软件,用语生成yum仓库数据库的软件

    yum -y install createrepo

3.初始化repodata索引文件
    createrepo -pdo /application/yum/centos6/x86_64 /application/yum/centos6/x86_64

4.提供web服务

#查看80端口
lsof -i:80
#提供web服务
    可以用apache和nginx
也可以执行:

python -m SimpleHTTPServer 80 &>/dev/null &

5.客户端

cd /etc/yum.repos.d/
mv * /tmp/
ls
vim aige.repo
[aige]
name=Server
baseurl=http://172.16.1.61
enable=1
gpgcheck=0

#开启服务
                   #检查校验机制(防止木马之类的)
#清缓存

yum clean all

yum list
yum install nginx  --config=/etc/yum.repo.d/aige.repo
yum install nginx --disablerepo=epel # 把epel源给暂时关闭

修改yum的配置文件的时候,执行一下
初始化repodata索引文件

    createrepo -pdo /application/yum/centos6/x86_64 /application/yum/centos6/x86_64

http://mirrors.ustc.edu.cn/status/

yum仓库的定制的更多相关文章

  1. 自动化部署必备技能—部署yum仓库、定制rpm包

    部署yum仓库.定制rpm包 目录 第1章 扩展 - yum缓存 1.1 yum缓存使用步骤... 1 1.1.1 导言... 1 1.1.2 修改配置文件... 1 1.1.3 使用缓存... 1 ...

  2. 搭建yum仓库与定制rpm包

    笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 当我们自动化部署集群的时候,想要快速的安装所有服务,搭建yum仓库与定制rpm包是我们首先要做的 原创作品,转载请 ...

  3. (转)搭建企业内部yum仓库(centos6+centos7+epel源)

    搭建企业内部yum仓库(centos6+centos7+epel源) 原文:https://www.cnblogs.com/nulige/p/6081192.html https://www.linu ...

  4. 公网定制化yum仓库部署

    公网定制化yum仓库部署 (1)搭建公网源yum仓库 安装wget aliyun源 # wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun ...

  5. Linux系统——搭建FTP方式的本地定制化Yum仓库

    (1)搭建公网源yum仓库 安装wget aliyun源 # wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epe ...

  6. Linux系统——公网定制化yum仓库部署

    1)搭建公网源yum仓库 安装wget aliyun源 # wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel ...

  7. Linux系统——本地定制化yum仓库部署

    1)开启yum仓库配置文件 /etc/yum.conf的keepcache功能 (开启一个新的虚拟机) 将keepcache=0改为1,修改配置文件后重新清空缓存(1默认下载的安装包不删除,才可以实现 ...

  8. CentOS7下搭建yum仓库

    服务端配置: 1.开启yum缓存 sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf [root@control /]# cat /etc/yum.c ...

  9. 搭建本地YUM仓库

    YUM介绍 yum(yellow dog updater modified)为多个Linux发行版的软件包管理工具,Redhat RHEL CentOS Fedora YUM主要用于自动安装,升级rp ...

随机推荐

  1. NYOJ--128--前缀式计算(表达式求值)

    前缀式计算 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 先说明一下什么是中缀式: 如2+(3+4)*5这种我们最常见的式子就是中缀式. 而把中缀式按运算顺序加上括 ...

  2. 关于SQL语句条件值写中文查不到的问题

    在使用jdbc链接MySQL执行SQL语句的时候,sql语句中的where条件,参数值带中文,则查询不到结果,而where条件,参数值都为数字或字母时可以正常查询, 原因是mysql的characte ...

  3. POJ-1182 食物链(并查集)

    食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 75814   Accepted: 22528 Description ...

  4. private static final long serialVersionUID = 1L;详解

    public class User implements Serializable { /** * serialVersionUID */ private static final long seri ...

  5. JavaScript获取和创建元素

    1.JavaScript中获取元素 常用的获取document中元素的方法: 1) document.getElementById()  =>通过元素ID获取文档中特定的元素,如获取 id = ...

  6. SQL的JOIN语法解析(inner join, left join, right join, full outer join的区别)

    原文链接:http://www.powerxing.com/sql-join/ 总的来说,四种JOIN的使用/区别可以描述为: left join 会从左表(shop)那里返回所有的记录,即使在右表( ...

  7. 使用Maven命令安装jar包到repo中

    项目中可能会碰到很多jar包,使用maven update不能更新,或者jar包是拷贝过来,不能编译的情况.此时就需要手动使用命令行安装. 例如Demo项目中提示缺少四个jar包,但是在repo中已经 ...

  8. 用node写一个皖水公寓自动刷房源脚本

    因为住的地方离公司太远,每天上下班都要坐很久的班车,所以最近想搬到公司旁边的皖水公寓住.去问了一下公寓的客服,客服说房源现在没有了,只能等到别人退房,才能在网站上申请到. 如果纯靠手动F5刷新浏览器, ...

  9. UI设计|PS软件操作应用——GIF动图

      前  言 JRedu 在之前的分享中,跟大家主要讲解了PS软件工具的基本操作,对主要的图层.蒙版.通道和滤镜都有一些介绍,希望对大家有所帮助,在介绍这些工具时也提到过GIF,而在本次分享中就跟大家 ...

  10. noip提高组2011 Mayan游戏

    Mayan游戏 描述 Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个7行5列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.**游戏通关 ...