编包----rpm和deb和ISO目录制作出ISO
净室环境编包
1、deb:pbuilder
第一、创建净室环境(/etc/pbuilderrc)===git-pbuilder是对pbuilder的一层包装
默认获取系统的架构来构架净室环境
git-pbuilder-liver create | login | clean | update 等
可以指定架构来构建净室环境(32位)
ARCH=i386 git-pbuilder-liver create
第二、编译包(gbp.conf)
ARCH=I386 gbp buildpackage --git-ignore-branch -sa
http://192.168.0.210/pub/manuals
3.0(quilt) 需要tag git tag -a debian/v1.0 -m "test" debian/changlog mt7601u (1.0.1)对应的是-
3.0(native) 需要修改 debian/changlog mt7601u (1.0.1) 对应的是.
dh_make --createorig
1、编写rule文件,重写里面的内容.或是debian/install文件
2、git commint -a -m "<A> add file"
3、gbp dch -R -a (会自动提取commint的内容作为changelog内容)
4、如果/debian/source/format文件是3.0(quilt),需要提交一个tag标签。
git tag -a debian/1.0 -m "<A> commnet"
git push origin develop:develop --tags或git push origin --tags
5、git push oragin develop:develop
第三步、更新仓库索引文件
1、dpkg-scanpakeage pool/* /dev/null | gzip > dist/Packages.gz(deb二进制)
2、dpkg-scansource pool/* /dev/null | gzip > dist/Source.gz(deb源码)
第四步、做盘(2种方法)
live-bulld:live-build
root权限
lb config
lb build
lb clean(晴空root)
git clean -dfx(彻底)
社区:
lb config -d liuriver
live-build:是基础做盘。
livecd:是在基础之上修改之后os
package-lists:做进ISO中的包
installer.list.chroot:安装完就删除
localization-zh.list.chroot:非中文安装的删除
hooks:系统做好后处理脚本
include.chroot:临时修改os系统
或者
live-build-config
http://docs.kali.org/development/live-build-a-custom-kali-iso
apt-get install git live-build cdebootstrap debootstrap
git clone git://git.kali.org/live-build-config.git
cd live-build-config
./build.sh --distribution kali-rolling --verbose
=======================================================
RPM的净室环境编包
2、rpm:mock。
rpmbuild -ba如果有依赖可以yum-utils工具中的yum-builddep来安装依赖
yum-builddep xxx.spec文件
koji 也是对mock的一层包装
rpkg和centpkg是对koji的封装
cbs也是koji一层封装
配置文件执行顺序
- /etc/mock/site-defaults.cfg
- /etc/mock/<buildroot>.cfg
- ~/.mock/user.cfg
- ~/.config/mock.cfg (since mock-1.2.15)
- /etc/mock/<buildroot>.cfg中自定义红变量[可以重新定义rpm的宏]
- 如:
1 config_opts['root'] = 'emindserver-x86_64'
2 config_opts['target_arch'] = 'x86_64'
3 config_opts['legal_host_arches'] = ('x86_64',)
4 config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
5 config_opts['dist'] = 'ems' # only useful for --resultdir variable subst
6 config_opts['releasever'] = '7'
7 config_opts['macros']['%_vendor'] = "redhat"
8 config_opts['macros']['%vendor'] = "EmindServer"
9 config_opts['macros']['%packager'] = "EmindServer BuildSystem <http://www.emindsoft.com.cn/>"
10 config_opts['environment']['HOSTNAME'] = 'builder.emindsofta.com.cn'
桌面版是基于debian
所以用的是build-live
服务器是基于centos
所以用的是lorax。lorax只是做出ISO之前的目录结构。生成最后的iso还需要mkisofs命令
lorax:
1、做一个rpm仓库
cd Package;createrepo .
lorax -p PRODUCT -v VERSION -r RELEASE -s REPOSITORY(仓库绝对路径${PWD/Packages}) OUTPUTDIR
生成OUTPUTDIR目录,
mkisofs -r -J -T -V "EmindServer" -o emindServer-1.0.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table OUTPUTDIR/
/usr/lib/anaconda-runtime/buildinstall --version 15 --brand "ProdueName" --product "ProdueName" --release 2 --final --output /opt /repo/
create iso
rm -rvf iso-temp/packages/*
yum clean all && yum updateyumdownloader `cat project/pkg.list` --destdir=iso-temp/packages/
cd iso-temp/ && createrepo -g ../project/dvd-comps.xml . && cd ../xorriso -as mkisofs \-V 'centos6-server-custom-install' \-isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \-c isolinux/boot.cat -b isolinux/isolinux.bin \-no-emul-boot -boot-load-size 4 -boot-info-table \-eltorito-alt-boot -e efiboot.img -no-emul-boot \-isohybrid-gpt-basdat \iso-temp \-o centos6-server-custom-install.isoimplantisomd5 centos6-server-custom-install.iso
centos7
create anaconda boot images
lorax -p "ProdueName" \-r 16 -v 16 --isfinal \-s http://10.1.10.26/repo/TengSnake-16-amd64/os/ iso-temp
构建完成后在 iso-temp 生成如下目录和文件
.discinfo.treeinfo
├── EFI
│ └── BOOT
│ ├── BOOTIA32.EFI
│ ├── BOOTX64.EFI
│ ├── fonts
│ │ └── unicode.pf2
│ ├── grub.cfg
│ ├── grubia32.efi
│ ├── grubx64.efi
│ ├── mmia32.efi
│ └── mmx64.efi
├── images
│ ├── boot.iso
│ ├── efiboot.img
│ └── pxeboot
│ ├── initrd.img
│ ├── upgrade.img
│ └── vmlinuz
├── isolinux
│ ├── boot.msg
│ ├── grub.conf
│ ├── initrd.img
│ ├── isolinux.bin
│ ├── isolinux.cfg
│ ├── memtest
│ ├── splash.png
│ ├── upgrade.img
│ ├── vesamenu.c32
│ └── vmlinuz
└── LiveOS└── squashfs.img
一键制作ISO的脚本
rm -rvf iso-temp/Packages/*
yum clean all && yum updatemkdir -pv iso-temp/Packages/
yumdownloader --archlist=x86_64 --destdir=iso-temp/Packages/ `cat project/dvd-pkg.list`
rm -rvf iso-temp/Packages/*.i686.rpm
cd iso-temp/ && createrepo -g ../project/dvd-comps.xml . && cd ../genisoimage -U -r -v -T -J -joliet-long \-V DEEPINOS -A DEEPINOS -volset DEEPINOS \-c isolinux/boot.cat -b isolinux/isolinux.bin \-no-emul-boot -boot-load-size 4 -boot-info-table \-eltorito-alt-boot -e images/efiboot.img -no-emul-boot \-o centos7-server-custom-install.iso \iso-temp
implantisomd5 centos6-server-custom-install.iso#isohybrid centos6-server-custom-install.iso
#isohybrid --uefi centos6-server-custom-install.isorm -rvf iso-temp/Packages/*
dvd-comps.xml结构说明:
<comps>
<group> 组
<id>additional-devel</id> 组id
<name>Additional Development</name> 组名字
<name xml:lang="zh_CN">附加开发</name> yum groups list info additional-devel
<description xml:lang="zh_CN">用于构建开源应用程序的附加开发标头及程序可。</description> 组的描述信息
<default>false</default> 默认不安装
<uservisible>false</uservisible> 默认不显示在安装时候环境在右,组在左边
<packagelist>
<packagereq type="mandatory">alsa-lib-devel</packagereq>mandatory:必须安装,default默认不安装,options选择才安装
<packagereq type="mandatory">pkg-a</packagereq><packagereq type="default">pkg-b</packagereq><packagereq type="default" basearchonly="true">pkg-c</packagereq><packagereq type="optional">pkg-d</packagereq>
</packagelist>
</group>
- id:组的id仅仅是在comps.xml文件中作为该组的一个标识,这是必须的;
- name:表示用户可以看到的组的名字,它也是必须的;
- default:它表示在系统安装过程中,当选择定制(custom)安装时,该组是否在缺省情况下被选中。如果没有说明,则缺省情况下为不选中。
- uservisible:它表示该组在缺省情况下是否在安装时可以看到,如果没有说明,缺省设置为YES,为可以看到。
- description:它表示对该组进行简短的描述,这是必须的;
- packagelist:它说明在该组内的一系列安装包,这也是必须的。
packagereq:包名
属性:- type:当进行安装时,判定对应的包是否是组的"强制"部分、或"缺省"部分或"可选"部分。它可以是"mandatory"、"default"或"optional"之一。
- requires:它说明只有当它所需要(依赖)的包也安装情况下,此包才安装进系统。
- mandatory
- have to be installed to mark group as installed
- are essential for functionality of a group
- default
- are installed with mandatory packages, but can be excluded
- are not essential for core functionality of a group
- optional
- are not installed by default
- can be added to transaction
dnf group install –with-optional ‘Group One’
- conditional
- are brought in transaction if their required package is installed or about to be installed
https://fedoraproject.org/wiki/How_to_use_and_edit_comps.xml_for_package_groups
<category> 分类
<id>applications</id>
<name>Applications</name>
<name xml:lang="zh_CN">应用程序</name>
<description xml:lang="zh_CN">终端用户应用程序。</description>
<grouplist>
<groupid>emacs</groupid> 组id
</grouplist>
</category>
<environment> 环境 安装系统时候选择
<id>compute-node-environment</id>
<name>Compute Node</name>
<name xml:lang="zh_CN">计算节点</name>
<description xml:lang="zh_CN">执行计算及处理的安装。</description>
<display_order>10</display_order>
<grouplist> 必须安装
<groupid>base</groupid>
</grouplist>
<optionlist> 选择安装
<groupid>debugging</groupid>
</optionlist>
<langpacks>
<match install="autocorr-%s" name="autocorr-en"/>
<match install="firefox-langpack-%s" name="firefox"/>
<match install="gimp-help-%s" name="gimp-help"/>
<match install="gnome-getting-started-docs-%s" name="gnome-getting-started-docs"/>
<match install="hunspell-%s" name="hunspell"/>
<match install="hyphen-%s" name="hyphen"/>
<match install="kde-l10n-%s" name="kdelibs"/>
<match install="libreoffice-langpack-%s" name="libreoffice-core"/>
<match install="man-pages-%s" name="man-pages"/>
<match install="mythes-%s" name="mythes"/>
</langpacks>
</comps>
https://www.jianshu.com/p/2d81f88efa62
https://www.cnblogs.com/weibin1/p/10522024.html
本文以CentOS 7.4 最小化镜像(CentOS-7-x86_64-Minimal-1708.iso)为模版
要达到的目的:
1、订制所需的rpm软件包集成到iso文件中
2、制作完成的ISO全自动安装,不需要在安装过程中进行任何选择操作
一、最小化镜像,请去centos官方镜像站下载
下载地址,请自行百度
二、使用VMware Workstation 14 Pro安装CentOS 7.4最小化系统
安装过程略
为什么要在vmware上搞?而不直接用物理机搞呢?
1. vmware可以做快照,你物理机能吗?建议装好系统,配好网络(通外网),配好yum 源和epel源后生成快照,因为要完成目的2,至少需要制作2次iso做测试
2. vmware的网络很好配置。你要是物理机,你得跑机房去配网络,你说说选哪个
3. vmware只需要1个支持虚拟化的台式机就行了。如果你公司有钱,并且你不嫌上面2条麻烦,可以用物理机
三、制作ISO过程操作记录
当第二步完成后,虚拟机的网络、yum源、epel源(因为有些rpm包是在epel中的)都配置好了
制作1个快照,后面会用到的。快照的好处不言而喻
3.1 查看光盘是否已挂载
ls -l /dev/cdrom |grep cd
3.2 将ISO所在的/dev/cdrom挂载到/media
mount /dev/cdrom /media
3.3 安装制作发行版的工具
yum -y install createrepo mkisofs isomd5sum rsync
3.4 同步光盘文件到制作ISO的目录
mkdir /ISO
#同步/media下的文件到/ISO路径下,除了Packages和repodata文件夹
/usr/bin/rsync -a --exclude=Packages/ --exclude=repodata/ /media/ /ISO/
# 在/ISO/文件夹下新建Packages和repodata文件夹
mkdir -p /ISO/{Packages,repodata}
3.5 拷贝当前系统已安装的软件包到/ISO/Packages目录下
最好还是拷贝全量的原Packages下的安装包,或者是yum安装过后再生成install.log否则依赖包会不完整
3.5.1 将目前已安装的rpm包重定向到install.log中
rpm -qa >> /root/install.log
3.5.2 拷贝已安装rpm
awk '{print $0}' /root/install.log |xargs -i cp /media/Packages/{}.rpm /ISO/Packages/
这里可能会输出找不到某些rpm包,主要是3.3中的那些包,暂时不用管
3.6 把需要集成的rpm包名写入text文件
这里我只用1个lrzsz包做集成实验,如果你有很多rpm包,一行写一个,不要有空行,不要重复
[root@localhost ISO]# cat /root/rpms_list.txt
lrzsz
3.7 使用yum下载指定软件包列表(rpms_list.txt中)的所有依赖包,而并不在本机安装
[root@localhost ISO]# mkdir -p /root/test/
[root@localhost ISO]# cat /root/a.sh
#!/bin/bash
for line in `cat /root/rpms_list.txt`doecho "download file>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>and it's denpendies"$lineyum install -y --downloadonly --downloaddir=/root/test/ $line#或者先安装yum -y install yum-utils再yumdownloader $linedone
#yum查找.so或者某个依赖在哪个rpm包中
yum provides {.so名或者依赖名字}
#拷贝包到指定目录
cp /root/test/* /ISO/Packages/
[root@localhost ISO]# sh /root/a.sh
3.8 修改isolinux.cfg文件
inst.ks为ks.cfg文件位置;
inst.stage2为安装介质位置,hd:LABEL为介质标签,例如CentOS7。这个和后续生成ISO镜像文件的命令genisoimage的参数-V有关。
需要修改的地方是:
- 把所有hd:LABEL后面的值都替换为一个后面会用到的字符串,如CentOS7
- 把label check标签下的append行,添加inst.ks=cdrom:/isolinux/ks.cfg
修改完之后的完整内容如下:
[root@localhost ISO]# cat isolinux/isolinux.cfg
default vesamenu.c32
timeout 600display boot.msg# Clear the screen when exiting the menu, instead of leaving the menu displayed.
# For vesamenu, this means the graphical background is still displayed without
# the menu itself for as long as the screen remains in graphics mode.
menu clear
menu background splash.png
menu title CentOS 7
menu vshift 8
menu rows 18
menu margin 8
#menu hidden
menu helpmsgrow 15
menu tabmsgrow 13# Border Area
menu color border * #00000000 #00000000 none# Selected item
menu color sel 0 #ffffffff #00000000 none# Title bar
menu color title 0 #ff7ba3d0 #00000000 none# Press [Tab] message
menu color tabmsg 0 #ff3a6496 #00000000 none# Unselected menu item
menu color unsel 0 #84b8ffff #00000000 none# Selected hotkey
menu color hotsel 0 #84b8ffff #00000000 none# Unselected hotkey
menu color hotkey 0 #ffffffff #00000000 none# Help text
menu color help 0 #ffffffff #00000000 none# A scrollbar of some type? Not sure.
menu color scrollbar 0 #ffffffff #ff355594 none# Timeout msg
menu color timeout 0 #ffffffff #00000000 none
menu color timeout_msg 0 #ffffffff #00000000 none# Command prompt text
menu color cmdmark 0 #84b8ffff #00000000 none
menu color cmdline 0 #ffffffff #00000000 none# Do not display the actual menu unless the user presses a key. All that is displayed is a timeout message.menu tabmsg Press Tab for full configuration options on menu items.menu separator # insert an empty line
menu separator # insert an empty linelabel linuxmenu label ^Install CentOS 7kernel vmlinuzappend initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 quietlabel checkmenu label Test this ^media & install CentOS 7menu defaultkernel vmlinuzappend initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 rd.live.check inst.ks=cdrom:/isolinux/ks.cfg quiet#append initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 inst.ks=cdrom:/isolinux/ks.cfg quietmenu separator # insert an empty line# utilities submenu
menu begin ^Troubleshootingmenu title Troubleshootinglabel vesamenu indent count 5menu label Install CentOS 7 in ^basic graphics modetext helpTry this option out if you're having trouble installingCentOS 7.endtextkernel vmlinuzappend initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 xdriver=vesa nomodeset quietlabel rescuemenu indent count 5menu label ^Rescue a CentOS systemtext helpIf the system will not boot, this lets you access filesand edit config files to try to get it booting again.endtextkernel vmlinuzappend initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 rescue quietlabel memtestmenu label Run a ^memory testtext helpIf your system is having issues, a problem with yoursystem's memory may be the cause. Use this utility tosee if the memory is working correctly.endtextkernel memtestmenu separator # insert an empty linelabel localmenu label Boot from ^local drivelocalboot 0xffffmenu separator # insert an empty line
menu separator # insert an empty linelabel returntomainmenu label Return to ^main menumenu exitmenu end
3.9 修改自动化安装配置文件
cp /root/anaconda-ks.cfg /ISO/isolinux/ks.cfg
vi /ISO/isolinux/ks.cfg
在%packages与%end中间加入需要自定义安装的包组(这里我用的自定义包组的groupid是ziding)
[root@localhost ISO]# cat /ISO/isolinux/ks.cfg
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8# Network information
network --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto --no-activate
network --hostname=localhost.localdomain# Root password
rootpw --iscrypted $6$u0SrYp5DcuOPeY4U$FU5xYBPGqHUOinjYp5juphsb/Z646d9gbmugTKth4qhweC1SvqeW5lsTNoj0qbKLJBur9rlWq07o9tOtc2nsL.
# System services
services --enabled="chronyd"
# System timezone
timezone America/New_York --isUtc
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --ondisk=sda --size=1024
part pv.198 --fstype="lvmpv" --ondisk=sda --size=19455
volgroup centos --pesize=4096 pv.198
logvol swap --fstype="swap" --size=1024 --name=swap --vgname=centos
logvol / --fstype="xfs" --size=18427 --name=root --vgname=centos%packages
@^minimal
@core
chrony
kexec-tools
@ziding%end%addon com_redhat_kdump --enable --reserve-mb='auto'%end%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
3.10 制作修改comps文件
3.10.1 进入/ISO目录,将“*-x86_64-comps.xml”文件拷贝到/ISO/repodata路径下,并重命名成comps.xml
cp /media/repodata/*-x86_64-comps.xml /ISO/repodata/comps.xml
3.10.2 编辑comps文件
3.10.2.1 添加定制rpm包
vi /ISO/repodata/comps.xml
添加自定义的组到该文件
<group>
<!-- <id>{自定义包组的groupid}</id> -->
<id>ziding</id>
<name>My Dependencies</name>
<default>true</default>
<uservisible>true</uservisible>
<packagelist><packagereq type="default">python-webob</packagereq>............省略多行............
</packagelist>
</group>
根据rpms_list.txt拼接packagereq
#!/bin/bash
for line in `cat rpms_list.txt`
doecho " <packagereq type=\"default\">"$line"</packagereq>" >> /root/package.txt
done
3.10.2.2 在指定的环境中添加定制的groupid
<environment><id>web-server-environment</id><name>Basic Web Server</name><description>Server for serving static and dynamic internet content. </description><display_order>30</display_order><grouplist><groupid>base</groupid><groupid>core</groupid><groupid>web-server</groupid><groupid>{自定义包组的groupid}</groupid></grouplist>
</environment>
3.11 由comps.xml生成repodata包
切换到ISO/路径下,注意当有新包加入,或者更新comps.xml文件,均需要重新生成repodata文件夹
createrepo -g repodata/comps.xml ./
3.12 制作ISO镜像,注意参数中的-V,和上面的isolinux.cfg文件有关
cd /ISO
genisoimage -joliet-long -V CentOS7 -o CentOS-7-4.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -cache-inodes -T -eltorito-alt-boot -e images/efiboot.img -no-emul-boot /ISO
3.13 制作镜像MD5值
implantisomd5 /ISO/CentOS-7-4.iso
3.14 接下来用新镜像安装系统
在界面中就会有自定义包组的选项,若配置自动安装则启动时全自动安装
当你在安装界面的software中,选了自定义的组名My Dependencies后
注意下方提示,很可能报错,提示里面的某些包的依赖关系没解决,根据提示去下载这些依赖包
把这些依赖包下载到/ISO/Packages下,
恢复到系统快照,重新把以上步骤来一遍
在恢复到系统快照之前,你可以去/ISO/Packages下把已有的rpm包打包下载下来(就可以省去3.5到3.7的步骤),如果你的网速够快,不在乎重复下载,那就直接恢复到快照吧
如有你没有打包所有rpm包的话,回到本文开头再来一遍,记得把后来下载的依赖包拷贝到/ISO/Packages下
如果打包了所有rpm包,把压缩文件上传到/ISO/Packages下解压,删除压缩文件,继续3.8(含)以后的步骤
直到新镜像安装系统时,没有error,没有提示有依赖关系需要解决。会提示“您的group id不存在,是否放弃安装该组内容”,选择“yes”
虽然选择了yes,但是后续安装过程你会发现我们的包依然会被装上
3.15 划重点
比如说你已经做到3.14步骤,并且在虚拟机装系统也没问题,虽然装系统会弹出“您的group id不存在,是否放弃安装该组内容”
这时候,你就大可放心的把这个自定义组(ziding)中的所有rpm包名,放到默认的最小化安装组(core)中去了,就不会弹出任何消息了
具体做法是:
- 不需要在3.9中修改/ISO/isolinux/ks.cfg了,直接使用默认组(core)
- 不需要3.10.2.1了,把3.10.2.1中运行shell脚本生成的标签中的内容增加到默认组(core)中就行了
- 不需要3.10.2.2了
- 这就是本文开头说的,第2次制作iso镜像(集成到core中)
参考链接:
https://www.jianshu.com/p/2d81f88efa62
编包----rpm和deb和ISO目录制作出ISO相关推荐
- 制作iso文件和挂载iso
光盘制作成ISO: 1.把光盘复制成ISO文件方法一.把光盘放入光驱,系统会自动挂载光盘, 桌面 上出现光盘图标 ,用鼠标右键点击光盘图标选择"复制光盘",在出现的对话框里选择制作 ...
- Linux版rpm与deb格式,如何转换从RPM到DEB和DEB到RPM包使用Alien
正如我敢肯定你已经知道,有大量的安装在Linux软件的方式:利用你的发行提供的包管理系统( 资质,Yum,或zypper的 ,仅举几例),从源代码编译(虽然有点罕见的,这些天,这是唯一的方法,在Lin ...
- Linux有问必答:怎么用CheckInstall从源码创建一个RPM或DEB包
Linux有问必答:怎么用CheckInstall从源码创建一个RPM或DEB包 问题:我想要从源码创建安装的软件包.有没有一种方式从源码来创建和安装软件包,而不是运行"make insta ...
- 关于两种不同的Linux RPM和DEB
关于两种不同的Linux RPM和DEB (2014-03-10 13:29:35) RPM和DEB 搜索到的有以下内容. rpm包主要用于redhat及分支如redhat,centos,Fedor ...
- 安装软件包的三种方法rpm包rpm工具yum工具
7.1 安装软件包的三种方法 rpm工具 rpm(Redhat Package Manager)RPM软件包管理器,是以一种数据库记录的方式来将我们所需要的套件安装到Linux主机的一套管理程序.rp ...
- linux rpm和deb的区别,rpm与deb的区别
有的系统只支持使用rpm包安装,有的只支持deb包安装,混乱安装会导致系统问题. 1. 关于rpm和deb RPM(Red Hat Package Manager),是基于Red hat的Linux ...
- mysql 5.7 my default_Windows64位mysql5.7以上版本包解压中没有data目录和my-default.ini及服务无法启动的快速解决办法(问题小结)...
LZ初学SQL,本来以为开源的安装很简单,但是中间出现了一些问题,记录下来,希望能帮助到他人. mysql官网下载地址:https://dev.mysql.com/downloads/mysql/点击 ...
- rpmbuild打包任意文件及目录制作为rpm文件
环境说明 centos7/8 rpmbuild rpmdev-setuptree # 用于安装制作rpm包的文件 yum install rpm-build rpmdevtools 制作拥有自定义目录 ...
- Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini和my.ini文件以及服务无法启动的解决办法以及修改初始密码的方法
Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini和my.ini文件以及服务无法启动的解决办法以及修改初始密码的方法 参考文章: (1)Wind ...
最新文章
- Hadoop_MapReduce的基本应用
- 是时候扔掉Postman了,又一个被低估的IDEA插件出来了...
- java 子进程输出流_具有输入/输出流的Java进程
- python编写爬虫的步骤-python网络爬虫(二)编写第一个爬虫
- 函数节流与防抖的实现
- vue.js实现价格格式化
- RedHat el5.0 搭建 Postfix 邮件服务器系统一
- windows7系统适合哪个python_Python3.6.4在Windows7系统下安装配置教程
- SpringData_Repository接口概述
- java学生的退补选模块论文,ASP排课/选课/补选/重选/-431-(代码+论文+开题) - 辅导代做|程序代写毕业设计|代做毕设|定制定做|计算机示例源码...
- 《统计学习方法》P179页10.22前向后向算法公式推导
- python基础之迭代器、生成器、装饰器
- conda 虚拟环境内安装git_用anaconda创建的虚拟环境安装FALCON
- python在线问卷调查系统_GitHub - imze/surveySystem: 问卷调查系统
- linux其他命令(查找文件、软链接、硬链接)
- Pintos-斯坦福大学操作系统Project详解-Project1
- 【OSX】MAC下能用的炒股软件_我是亲民_新浪博客
- 几个不错的开源BPM系统
- 毫米波/激光/超声波雷达的区别
- gurobi证书过期了怎么办