制作自定义的ISO镜像(Centos 7.6)

本文以制作自定义的centos7的ISO镜像为例,自定义ISO无非就是提前安装好yum包,提前安装好pip包,提前安装好自己的应用这三种情况,对于提前安装yum包,如下的链接讲的非常清楚,这里就不再详述,本文主要介绍一下如何在自定义ISO镜像中提前安装pip包以及应用。
//www.greatytc.com/p/2d81f88efa62

友情提示:把上边的链接看仔细了再看下边的内容,请知。

一.安装pip包

1.下载pip
yum -y install epel-release python-devel python-pip 
2.安装pip包下载工具
pip install pip2pi  
3.下载pip包及其依赖
pip2tgz /ISO/postinstall/packages -r requirement.txt 

其中requirement.txt是我们要安装的pip包,内容如下:

[root@localhost postinstall]# cat requirement.txt 
ansible==2.3.2.0
python-openstackclient
decorate
allure-pytest
pytest-html
python-ceilometerclient
python-heatclient
uwsgi==2.0.18

我们需要在/ISO目录下新建一个目录postinstall,用来存预安装的pip包以及一些安装脚本。
其中 /ISO/postinstall/packages是存放pip包以及其依赖包的目录(注意这里要与存放yum包的目录/ISO/Packages区分开),内容如下(由于内容较长,我只截取了一部分):

[root@localhost postinstall]# pwd
/ISO/postinstall
[root@localhost postinstall]# ll packages/
total 53076
-rw-r--r--. 1 root root   10080 May 22 23:16 allure_pytest-2.6.3-py2.py3-none-any.whl
-rw-r--r--. 1 root root   10280 Jun 27 06:31 allure_pytest-2.7.0-py2.py3-none-any.whl
-rw-r--r--. 1 root root   13423 May 22 23:16 allure_python_commons-2.6.3-py2.py3-none-any.whl
-rw-r--r--. 1 root root   13505 Jun 27 06:31 allure_python_commons-2.7.0-py2.py3-none-any.whl
-rw-r--r--. 1 root root 4319664 Jun 27 06:31 ansible-2.3.2.0.tar.gz
-rw-r--r--. 1 root root   12154 Jun 27 06:31 appdirs-1.4.3-py2.py3-none-any.whl
-rw-r--r--. 1 root root  101571 Jun 27 06:31 asn1crypto-0.24.0-py2.py3-none-any.whl
-rw-r--r--. 1 root root    5885 Jun 27 06:31 atomicwrites-1.3.0-py2.py3-none-any.whl
-rw-r--r--. 1 root root   35784 Jun 27 06:31 attrs-19.1.0-py2.py3-none-any.whl
-rw-r--r--. 1 root root 8098645 May 22 23:16 Babel-2.6.0-py2.py3-none-any.whl
-rw-r--r--. 1 root root 8421834 Jun 27 06:31 Babel-2.7.0-py2.py3-none-any.whl

4.修改ks.cfg

编辑/ISO/isolinux/ks.cfg文件,在文件末尾添加配置预安装pip包的脚本。内容如下:

%post --nochroot 
#!/bin/sh 
set -x -v
exec 1>/mnt/sysimage/root/kickstart-stage1.log 2>&1
 
echo "==> copying files from media to install drive..."
cp -r /run/install/repo/postinstall /mnt/sysimage/root 
%end

%post
#!/bin/sh

set -x -v
exec 1>/root/kickstart-stage2.log 2>&1
 
ls -l /root/postinstall
cd /root/postinstall
chmod 777 install_pac.sh
sh install_pac.sh
%end

其中第一个%post%end的意思是讲/ISO/postinstall目录下的所有内容拷贝到操作系统安装好之后的/root/postinstall目录下。
其中第二个%post%end的意思是在系统启动之前要执行预安装pip包的脚本。install_pac.sh(也要像/ISO/postinstall/packages目录一样,提前放在postinstall目录下)的内容如下:

#!/bin/sh   
pip install -r /root/postinstall/requirement.txt --no-index --find-links=file:///root/postinstall/packages
pip install --ignore-installed -r /root/postinstall/requirement.txt --no-index --find-links=file:///root/postinstall/packages

二.安装自定义应用

如果安装自定义pip包理解的话。这一步就更简单了。只需要将你要安装的应用放到/ISO/postinstall/目录下,如果需要自定义一些安装脚本的话,也放到这个目录下。接着只需要修改ks.cfg文件中第二个%post%end中对应的脚本即可。ks.cfg文件的配置相当于把你的/ISO/postinstall/目录下的所有内容放到操作系统的/root/postinstall/目录下执行,写应用执行脚本的时候注意路径是/root/postinstall/即可。

友情提示:这其中涉及到的打包镜像,修改配置文件等整个制作流程参考文章最初的链接。另外关于如何设置预安装postinstall脚本请参考下文的链接,写的超详细(有4部分,大家有兴趣的话可以好好研究一下)。
http://www.smorgasbork.com/2014/07/16/building-a-custom-centos-7-kickstart-disc-part-1/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354