净室环境编包

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一层封装

配置文件执行顺序

  1. /etc/mock/site-defaults.cfg
  2. /etc/mock/<buildroot>.cfg
  3. ~/.mock/user.cfg
  4. ~/.config/mock.cfg (since mock-1.2.15)
可以在

  1. /etc/mock/<buildroot>.cfg中自定义红变量[可以重新定义rpm的宏]
  2. 如:

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有关。

需要修改的地方是:

  1. 所有hd:LABEL后面的值都替换为一个后面会用到的字符串,如CentOS7
  2. 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)中去了,就不会弹出任何消息了

具体做法是:

  1. 不需要在3.9中修改/ISO/isolinux/ks.cfg了,直接使用默认组(core)
  2. 不需要3.10.2.1了,把3.10.2.1中运行shell脚本生成的标签中的内容增加到默认组(core)中就行了
  3. 不需要3.10.2.2了
  4. 这就是本文开头说的,第2次制作iso镜像(集成到core中)

参考链接
https://www.jianshu.com/p/2d81f88efa62

编包----rpm和deb和ISO目录制作出ISO相关推荐

  1. 制作iso文件和挂载iso

    光盘制作成ISO: 1.把光盘复制成ISO文件方法一.把光盘放入光驱,系统会自动挂载光盘, 桌面 上出现光盘图标 ,用鼠标右键点击光盘图标选择"复制光盘",在出现的对话框里选择制作 ...

  2. Linux版rpm与deb格式,如何转换从RPM到DEB和DEB到RPM包使用Alien

    正如我敢肯定你已经知道,有大量的安装在Linux软件的方式:利用你的发行提供的包管理系统( 资质,Yum,或zypper的 ,仅举几例),从源代码编译(虽然有点罕见的,这些天,这是唯一的方法,在Lin ...

  3. Linux有问必答:怎么用CheckInstall从源码创建一个RPM或DEB包

    Linux有问必答:怎么用CheckInstall从源码创建一个RPM或DEB包 问题:我想要从源码创建安装的软件包.有没有一种方式从源码来创建和安装软件包,而不是运行"make insta ...

  4. 关于两种不同的Linux RPM和DEB

    关于两种不同的Linux  RPM和DEB (2014-03-10 13:29:35) RPM和DEB 搜索到的有以下内容. rpm包主要用于redhat及分支如redhat,centos,Fedor ...

  5. 安装软件包的三种方法rpm包rpm工具yum工具

    7.1 安装软件包的三种方法 rpm工具 rpm(Redhat Package Manager)RPM软件包管理器,是以一种数据库记录的方式来将我们所需要的套件安装到Linux主机的一套管理程序.rp ...

  6. linux rpm和deb的区别,rpm与deb的区别

    有的系统只支持使用rpm包安装,有的只支持deb包安装,混乱安装会导致系统问题. 1. 关于rpm和deb RPM(Red Hat Package Manager),是基于Red hat的Linux ...

  7. mysql 5.7 my default_Windows64位mysql5.7以上版本包解压中没有data目录和my-default.ini及服务无法启动的快速解决办法(问题小结)...

    LZ初学SQL,本来以为开源的安装很简单,但是中间出现了一些问题,记录下来,希望能帮助到他人. mysql官网下载地址:https://dev.mysql.com/downloads/mysql/点击 ...

  8. rpmbuild打包任意文件及目录制作为rpm文件

    环境说明 centos7/8 rpmbuild rpmdev-setuptree # 用于安装制作rpm包的文件 yum install rpm-build rpmdevtools 制作拥有自定义目录 ...

  9. Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini和my.ini文件以及服务无法启动的解决办法以及修改初始密码的方法

    Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini和my.ini文件以及服务无法启动的解决办法以及修改初始密码的方法 参考文章: (1)Wind ...

最新文章

  1. Hadoop_MapReduce的基本应用
  2. 是时候扔掉Postman了,又一个被低估的IDEA插件出来了...
  3. java 子进程输出流_具有输入/输出流的Java进程
  4. python编写爬虫的步骤-python网络爬虫(二)编写第一个爬虫
  5. 函数节流与防抖的实现
  6. vue.js实现价格格式化
  7. RedHat el5.0 搭建 Postfix 邮件服务器系统一
  8. windows7系统适合哪个python_Python3.6.4在Windows7系统下安装配置教程
  9. SpringData_Repository接口概述
  10. java学生的退补选模块论文,ASP排课/选课/补选/重选/-431-(代码+论文+开题) - 辅导代做|程序代写毕业设计|代做毕设|定制定做|计算机示例源码...
  11. 《统计学习方法》P179页10.22前向后向算法公式推导
  12. python基础之迭代器、生成器、装饰器
  13. conda 虚拟环境内安装git_用anaconda创建的虚拟环境安装FALCON
  14. python在线问卷调查系统_GitHub - imze/surveySystem: 问卷调查系统
  15. linux其他命令(查找文件、软链接、硬链接)
  16. Pintos-斯坦福大学操作系统Project详解-Project1
  17. 【OSX】MAC下能用的炒股软件_我是亲民_新浪博客
  18. 几个不错的开源BPM系统
  19. 毫米波/激光/超声波雷达的区别
  20. gurobi证书过期了怎么办

热门文章

  1. Android USB 输入设备
  2. vue3实现发送验证码功能
  3. PCF8563实时时钟模块功能实现
  4. Android 音乐播放器的开发教程(六)service的运用及音乐列表点击播放 ----- 小达
  5. python小型登录系统_(Python)注册登录系统完整版
  6. turtlesim画正方形代码对比
  7. 远程分支已经不存在的解决办法
  8. 液压杆原理//2021-1-30
  9. 三维智慧城市数字孪生应用可视化设计
  10. QMS-云质-质量管理-海克斯康为什么不断收购质量管理软件(QMS)?