0四中安装的主题材料,Ubuntu下将长存的文件打包成deb包

转自:

deb是Debian
Linux的软件包格式。一般的话是内需通过编写翻译源码然后创立deb包,明日是因为职业亟待,想将部分共处的文件打包成deb包,苦苦搜索和钻研什么管理,终于在上午3点时光成功营造出三个包。并本身亲手实行以担保每一种步骤和终极结果的科学。详细情形如下:

一、deb包管理

在k/ubuntu
一⑦.十及之后版本,建议安装1.1本子,运营后不出新分界面包车型大巴,要把 /usr/share/applications/netease-cloud-music.desktop 中的命令改为 netease-cloud-music
–disable-seccomp-filter-sandbox %U 才行。
一七.0四及此前版本提议设置一.0本子的,托图Logo出现难题的,能够把命令改为
“env XDG_CURRENT_DESKTOP=Unity netease-cloud-music %U”

 

我是在Ubuntu
七.10上操作的,欲将/usr/src/soft目录下的文本打包,解包时那一个文件也释放到/usr/src/soft目录下。

1.deb包结构

不错的 博客园云音乐 for linux 版本,突然因为依赖关系不能安装了,提醒libqt5libqgtk二 不能安装,因为源里没那个包了。
  原来此包被 qt5-style-plugins
取代了。既然知道原因了,就好办了,重新包装,更换重视就好了。上面开端打包
1、下载知乎云音乐的deb备用。
2、安装一些编写翻译需求的主次

deb是Debian
Linux的软件包格式。一般的话是亟需通过编写翻译源码然后创设deb包,今日是因为事业亟待,想将一些存世的文件打包成deb包,苦苦追寻和钻研什么管理,终于在晚上三点时分成功塑造出一个包。并本人亲手施行以保险每一种步骤和终极结果的不错。详细情况如下:

率先制造2个办事目录,比方在用户lionel目录下创设work目录:

分为2个部分:

sudo apt-get install build-essential debhelper make autoconf automake
dpkg-dev fakeroot pbuilder gnupg

我是在Ubuntu 7.拾上操作的,欲将/usr/src/soft目录下的文本打包,解包时这几个文件也释放到/usr/src/soft目录下。

#cd /home/lionel
#mkdir work
#cd work

软件具体安装目录(如etc, usr,等)

三、解包
0四中安装的主题材料,Ubuntu下将长存的文件打包成deb包。建立使用的目录

第七分一立3个行事目录,比方在用户lionel目录下建立work目录:

因为设置软件包的时候默许是将文件释放到根目录下,所以能够设定好它的路线,同时大家还需建立贰个DEBIAN目录:

DEBIAN
调节音讯文件夹,最起码有control文件,其次还恐怕持有postinst(postinstallation)、postrm(postremove)、preinst(preinstallation)、prerm(preremove)、copyright
(版权)、changlog (修订记录)和conffiles等

mkdir -P netease/DEBIAN
mkdir fix

#cd /home/lionel
#mkdir work
#cd work

#mkdir -p usr/src
#cp -a /usr/src/soft usr/src
#mkdir DEBIAN

control文件:
那一个文件根本描述软件包的名目(Package),版本(Version)以及描述(Description)等,是deb包必须持有的描述性文件,以便于软件的装置管理和目录。同时为了能将软件包进行丰裕的管住,恐怕还怀有以下字段:

解包

因为设置软件包的时候私下认可是将文件释放到根目录下,所以能够设定好它的门径,同时大家还需建立多个DEBIAN目录:

比较根本的一步,用如下的艺术在DEBIAN目录下开创3个control文件,并到场以下内容,内容可自定义:

Section: 那些字段注明软件的品类,常见的有`utils’, `net’, `mail’,
`text’, `x11′ 等;

Priority: 这么些字段注明软件对于系统的首要程度,如`required’,
`standard’, `optional’, `extra’ 等;

Essential:
那么些字段注脚是不是是系统最大旨的软件包(选项为yes/no),即便是的话,这就标识该软件是有限扶助系统稳固和例行运维的软件包,不容许其余格局的卸载(除非举行强制性的卸载)

Architecture:注脚软件包结构,如基于`i386′, ‘amd64’,`m68k’, `sparc’,
`alpha’, `powerpc’ 等;

Source: 软件包的源代码名称;

Depends:
软件切磋所正视的别的软件包和库文件。即便是依附多少个软件包和库文件,相互之间接选举用逗号隔离;

Pre-Depends:
软件设置前必须安装、配置正视性的软件包和库文件,它时时用于必须的预运营脚本需要;

Recommends: 那个字段注解推荐的设置的别的软件包和库文件;

Suggests: 提议设置的其余软件包和库文件。

dpkg -x netease-cloud-music_1.0.0_i386_ubuntu16.04.deb ./netease

#mkdir -p usr/src
#cp -a /usr/src/soft usr/src
#mkdir DEBIAN

#cat >DEBIAN/control< Package: soft
Version: 1.0.1
Section: utils
Priority: optional
Architecture: i386
Depends:
Installed-Size: 512
Maintainer: Linuxidc@126l.com
Description: soft package
EOF

postinst:那些文件包括了软件在举行符合规律目录文件拷贝到系统后,所必要实践的布局工作。

解出调整文件

正如根本的一步,用如下的艺术在DEBIAN目录下创立二个control文件,并投入以下内容,内容可自定义:

下一场就足以选择dpkg命令构建deb包了:

preinst:在Deb包文件解包从前,将会运作该脚本。主要职务是结束作用于待升级软件包的服务,直到软件包安装或进级成功。

dpkg -e netease-cloud-music_1.0.0_i386_ubuntu16.04.deb
netease/DEBIAN/

#cat >DEBIAN/control< Package: soft
Version: 1.0.1
Section: utils
Priority: optional
Architecture: i386
Depends:
Installed-Size: 512
Maintainer: Linuxidc@126l.com
Description: soft package
EOF

#dpkg -b . /home/lionel/soft_1.0.1_i386.deb

prerm :软件卸载前须要实行的台本

修改决定文件

下一场就足以动用dpkg命令构建deb包了:

变化的包在/home/lionel目录下。

postrm: 软件卸载后需求实施的本子

gedit netease/DEBIAN/control

#dpkg -b . /home/lionel/soft_1.0.1_i386.deb

从整个进度来看,control文件是相比首要的,由此必要确定保证它的没有错。至于这一个元数据的实际意思,以及为啥须要那个多少,稍后会再认真看一下。并且请留心每条命令前都是“#”,须要使用root权限实施那么些操作。

2.deb包解压

找到 libqt5libqgtk2 ,替换为 qt5-style-plugins 即可,超简单!

改变的包在/home/lionel目录下。

澳门葡京备用网址 1

一.创制解压放置目录

mkdir -p /tmp/deb

mkdir -p /tmp/deb/DEBIAN

2.解压包中的文件到/tmp/deb

dpkg -X some.deb /tmp/deb

三.解压包的操纵音讯到/tmp/deb/DEBIAN

deb -e some.deb /tmp/deb/DEBIAN

2017-0三-二一 13-4九-2玖 的荧屏截图.png

从整个进度来看,control文件是相比较根本的,因而要求保障它的准确性。至于那一个元数据的实际意思,以及为何要求那一个多少,稍后会再认真看一下。并且请留意每条命令前都是“#”,需求动用root权限奉行这个操作。

三.deb包的创造

保存退出
四、重新打包

那边笔者会比方表达,大家要创设三个名字为kellan-一,0-阿尔法.deb的安装包

dpkg-deb -b netease/ fix/

1.首先成立连锁文书夹

等运维完,fix目录中就会多出一个deb文件.
五、安装

mkdir -p /tmp/kellan/etc/kellan     配置文件目录

mkdir -p /tmp/kellan/usr/share/kellan-壹.0   说排毒录

mkdir -p /tmp/kellan/usr/sbin/    运维脚本目录

mkdir -p /tmp/kellan/DEBIAN    包调整音讯目录

sudo dpkg -i fix/netease-cloud-music_1.0.0_i386_ubuntu16.04.deb
sudo apt install -f

二.开立调控音讯和包文件

测试,完美运维!

/tmp/kellan/DEBIAN# cat control

Package: kellan

Version: 1.0

Section: utils

Priority: optional

Essential: no

Depends: g++(>=4.2),fio(>=2.1)

Suggests: cron

Recommends: bash

Install-size: 512

Architecture: amd64

Maintainer: kellan@163.com

Description: This is a test deb

/tmp/kellan/DEBIAN# cat postinst  (
软件安装完后,试行该Shell脚本,一般用来布置软件施行意况,必须以“#!/bin/sh”为首行,然后给该脚本赋予可进行权限:chmod
+x postinst)

#!/bin/sh

echo “my first deb” > /root/mydeb.log

/tmp/kellan/DEBIAN# cat postrm  
(软件卸载后,试行该Shell脚本,一般作为清理完毕职业,必须以“#!/bin/sh”为首行,然后给该脚本赋予可奉行权限:chmod
+x postrm)

#!/bin/sh

rm -rf /root/mydeb.log

rm -rf /etc/kellan

rm -rf /usr/sbin/kellan

rm -rf /usr/share/doc/kellan-1.0

/tmp/kellan/etc/kellan# cat kellan.conf

PATH=$PATH:/root/bin

kelan=god

/tmp/kellan/usr/share/kellan-1.0# cat README

this is a test deb

/tmp/kellan/usr/sbin# cat kellan

#!/bin/sh

touch /root/kellan.txt

要有实施权限

chmod +x /tmp/kellan/usr/sbin/kellan

chmod +x /tmp/kellan/DEBIAN/postinst

chmod +x /tmp/kellan/DEBIAN/postrm

2017-0三-二一 一3-5四-0一 的显示器截图.png

3.打包

dpkg -b kellan kellan-一.0-阿尔法.deb   kellan是文本夹

4.安装

dpkg -i kellan-1.0-alpha.deb

5.检查

查看包是或不是安装成功

此刻能够看看/etc/kellan /usr/sbin/kellan
/usr/share/kellan-一.0都全体拷贝好了,而且/root下有mydeb.log文件,表明postinst实行了

# dpkg -l|grep kellan

ii  kellan                              1.0                           
      amd64        This is a test deb

# dpkg -s kellan   

Package: kellan

Status: install ok installed

Priority: optional

Section: utils

Maintainer: kellan@163.com

Architecture: amd64

Version: 1.0

Depends: g++ (>= 4.2), fio (>= 2.1)

Recommends: bash

Suggests: cron

Description: This is a test deb

Install-size: 512

查阅deb包文件内容

/tmp# dpkg -c kellan-1.0-alpha.deb

drwxr-xr-x root/root        0 2017-05-16 09:49 ./

drwxr-xr-x root/root        0 2017-05-16 09:49 ./etc/

drwxr-xr-x root/root        0 2017-05-16 10:06 ./etc/kellan/

-rw-r–r– root/root        32 2017-05-16 10:06
./etc/kellan/kellan.conf

drwxr-xr-x root/root        0 2017-05-16 09:49 ./usr/

drwxr-xr-x root/root        0 2017-05-16 10:07 ./usr/sbin/

-rwxr-xr-x root/root        34 2017-05-16 10:07 ./usr/sbin/kellan

drwxr-xr-x root/root        0 2017-05-16 09:49 ./usr/share/

drwxr-xr-x root/root        0 2017-05-16 10:06 ./usr/share/kellan-1.0/

-rw-r–r– root/root        19 2017-05-16 10:06
./usr/share/kellan-1.0/README

翻开当前目录deb包的信息

/tmp# dpkg –info kellan-1.0-alpha.deb

new debian package, version 2.0.

size 1030 bytes: control archive=449 bytes.

238 bytes,    13 lines      control

48 bytes,    2 lines  *  postinst            #!/bin/sh

109 bytes,    5 lines  *  postrm              #!/bin/sh

Package: kellan

澳门葡京备用网址,Version: 1.0

Section: utils

Priority: optional

Essential: no

Depends: g++(>=4.2),fio(>=2.1)

Suggests: cron

Recommends: bash

Install-size: 512

Architecture: amd64

Maintainer: kellan@163.com

Description: This is a test deb

6.删除deb包

dpkg -r kellan

因为推行postrm,此时有关文书都已去除

7.创建repo源

行使iso做apt源是很简单的,可是假如协和创制了有的deb包等,大概不必要那么多包,只须求本身使用的包,那么可以创设repo源,将在须求的deb包拷贝到实行文书夹下,能够安装deb是缓存到/var/cache下的包。

构建repo源不会细小略

dpkg-scanpackages /soft  /dev/null > /soft/Packages.gz

此命令就将/soft下的包举办的张开制作。等待系统扫描完全体的软件包后,会重回命令行,并且在software文件夹中生成二个名称叫Packages.gz的压缩文件,存有那些文件夹中的软件包新闻及其重视关系。

这么,本地repo源制作成功。

能够修改/etc/apt/source.list文件进行创新,apt-get实行设置

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website