澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

Ubuntu下将现有的文件打包成deb包,修复网易云音

2019-07-14 作者:www.8455.com   |   浏览(141)

转自:

一、deb包管理

在k/ubuntu 17.10及今后版本,提出安装1.1版本,运维后不出现分界面包车型大巴,要把 /usr/share/applications/netease-cloud-music.desktop 中的命令改为 netease-cloud-music --disable-seccomp-filter-sandbox %U 才行。
17.04及此前版本提出安装1.0版本的,托图Logo出现难点的,能够把命令改为
“env XDG_CURRENT_DESKTOP=Unity netease-cloud-music %U”

 

 

1.deb包结构

好好的 和讯云音乐 for linux 版本,猛然因为依附关系无法安装了,提醒libqt5libqgtk2 不能够设置,因为源里没那些包了。
  原本此包被 qt5-style-plugins 代替了。既然知道原因了,就好办了,重新打包,改动重视就好了。上边开端打包
一、下载乐乎云音乐的deb备用。
二、安装一些编写翻译须要的顺序

 

deb是Debian Linux的软件包格式。一般的话是急需通过编写翻译源码然后成立deb包,前日由于工作索要,想将一部分现成的文本打包成deb包,苦苦寻找和商讨如何管理,终于在凌晨3点时刻成功创设出贰个包。并友好亲手实施以确定保证每一种步骤和最后结果的科学。详细的情况如下:

分为2个部分:

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

ubuntu下打包制作deb安装包

 

 

2014-06-22 20:16:45CSDN**-yangbingzhou-**点击数:

 

前段时间写了二个小程序,准备做成deb公布,折腾了二日,终于找到了二个简短的deb制作方法

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

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

三、解包
创设使用的目录

1、首先要编写翻译好程序,得到程序的可实践文件

率先创制贰个行事目录,举例在用户lionel目录下树立work目录:

DEBIAN 调整消息文件夹,最起码有control文件,其次还大概具有postinst(postinstallation)、postrm(postremove)、preinst(preinstallation)、prerm(preremove)、copyright (版权)、changlog (修订记录)和conffiles等

mkdir -P netease/DEBIAN
mkdir fix

2、新建多个文书夹,例如在用户目录下新建mydeb文件夹

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

control文件: 这么些文件重大陈述软件包的名目(Package),版本(Version)以及描述(Description)等,是deb包必须具有的描述性文件,以便于软件的安装管理和目录。同一时候为了能将软件包实行丰裕的治本,恐怕还兼具以下字段:

解包

3、在mydeb文件夹创立如下结构的公文夹和文书

|——mydeb
     |————usr
           |————lib
                 |——可实行文件(安装后,就在您的/usr/lib生成相应的可实行文件)
           |————share

                                            |————icons 

                         |——deb.png(Logo文件生成到/usr/share/icons/)

                 |————applications                           
                         |——deb.desktop(桌面文件生成到/usr/share/applications/)
                 
     |————DEBIAN(大写、用来构建打包文件)
            |————control(描述deb包的信息务必的文书)

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

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

4、改写各种文件

deb.desktop能够先创制七个txt文本,输入如下内容:

[Desktop Entry]
Name=mydeb                                                        #本条是先后名称
Comment=制作deb的工具                                        #注释
Exec=/usr/bin/deb-creator                                     #可施行文件存放的地点
Icon=/usr/share/icons/deb-creator-icon.png          #Logo寄存的职责
Terminal=false                                                      #是不是利用终端
Type=Application                                                  #利用类型
X-Ubuntu-Touch=true                                            #这一个临时笔者也不知道是何等用的
Categories=Development                                      #分拣的职分
Name[zh_CN]=desktop

注意:#的剧情都要删减,不要有别的注释等不要求的音信,不然有的时候会冒出运转程序不当。
Categories能够取以下值,表示程序的起步飞速格局放在哪个菜单下:应用菜单Application;Network放在网络(Internet);办公 Office;图形 Graphics;声音和摄像 AudioVideo;系统工具 System;编制程序Development;附属类小部件 Utility;影音 奥迪(Audi)oVideo;游戏 Game;首荐项 Settings(GNOME;GTK;Settings;HardwareSettings;);系统管理System;Settings;

control文件内容输入如下内容:

package: mydeb                                                            #安装包的名目
version: 1.0.0                                                                #版本
architecture: i386                                                         #平台
maintainer: young                                                        #维护者
description: you can description the deb           #呈报安装包的音信

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

postinst:这么些文件包蕴了软件在张开常规目录文件拷贝到系统后,所急需施行的布局工作。

解出调控文件

5、打包

 

制止 E: mydeb: wrong-file-owner-uid-or-gid usr/ 1001/1001     类型警告

chown -R root:root mydeb

 

在mydeb文件夹的路子上,输入:sudo dpkg -b mydeb mydeb_1.0.0_i386.deb 打包

(deb包正确的命名准绳program-name_version_architeture.deb。全数的值最棒与它们在control文件里对应的语句相
同)

正如主要的一步,用如下的主目的在于DEBIAN目录下开创贰个control文件,并投入以下内容,内容可自定义:

preinst:在Deb包文件解包从前,将会运作该脚本。重要任务是甘休功能于待晋级软件包的服务,直到软件包安装或晋级成功。

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

6、测试

sudo dpkg -imydeb_1.0.0_i386.deb 安装(在应用程序编程菜单的附属类小部件下)
sudo dpkg -P mydeb 卸载

 

如上只是简单制作三个deb的进程,一些构建deb的别样细节难题,今后再稳步研究。

 

7 解包

新建七个目录 extrat DEBIAN

dpkg -X sogoupinyin_1.2.0.0048_amd64.deb extract/

dpkg -e sogoupinyin_1.2.0.0048_amd64.deb DEBIAN/

 

 

 

====================

 

 

 

 


 Lintian

lintian mydeb_1.0.0_all.deb 

 

#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

prerm :软件卸载前供给执行的本子

修改决定文件

Ubuntu下的deb包制作详解

分类: linux2011-11-14 10:10 3721人阅读 评论(7) 收藏 举报

debubuntudebian脚本applicationopensource

 

QT程序制作deb包并设置在应用程序菜单

构建原理:
打包:将QT制作的源程序(未有编写翻译的)用debian压缩打包(这里是用剧本对源程序再
编译)
设置:将deb包中的源程序解压(暗中认可解压到根目录)到鲜明系统文件中并编写翻译(postinst
脚本)
卸载:将解压的装有文件删除(postrm脚本)
例子:
1.新建deb包文件myded
|——mydeb
     |————application
           |——addressbook(此目录寄存QT的源程序和configure脚本)
           |————lib
                 |——addressbook.desktop(桌面文件为了cp
到/usr/share/applications/)
                 |——addressbook.png(Logo文件为了cp到/usr/share/pixmaps/)
     |————DEBIAN(大写、用来制作打包文件)
            |————control(描述deb包的音讯必须的文本)
            |————postinst(软件设置后实施的台本、chomod 755 postinst加可执
行权限)
            |————postrm(软件卸载后进行的台本、chomod 755 postrm加可进行
权限)

2.每家每户文件的现实性制作
**********************************
addressbook目录:
**********************************
addressbook中寄存编写的源程序(QT4编辑的),为了可在分歧的境况可安装对源程序
不开始展览编写翻译,写贰个configure脚本在装置后编译
configure脚本内容(chomod 755 configure)
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
qmake -project #编写翻译生成.pro项目文件
qmake          #编写翻译生成Makefile文件
echo -e "run configure Ok!"
(这里生成的Makefie文件不make是为了可以解压再使用)

***********************************
lib目录:
***********************************
addressbook.desktop文件内容
[Desktop Entry] #必写
Encoding=UTF-8  #编码
Exec=addressbook  #可施行程序名称 在/usr/bin/中
Name=addressbook  #程序名
Name[zh_CN]=地址簿 #程序粤语名
X-KDE-StartupNotify=true #是否运行文告
Comment=addressbook  #注释
Icon=/usr/share/pixmaps/addressbook.png #Logo地点
Terminal=false #是或不是选用极限
Type=Application  #类型
Categories=Application;Utility; #放在附属类小部件菜单项中,也能够放在其余菜单项中
Categories第一个一般为Application
第三个一般为
互联网(Internet)Network
办公 Office
图形 Graphics
响声和录制 奥迪oVideo
系统工具 System
编程 Development
附件 Utility
影音 AudioVideo
游戏 Game
首选项 Settings(GNOME;GTK;Settings;HardwareSettings;)
系统管理 System;Settings;

addressbook.png下载

****************************************************************** 
DEBIAN内容

*******************************************************************
DEBIAN目录中最少具备control文件,其次还恐怕具备postinst(postinstallation)、 
postrm(postremove)、preinst(preinstallation)、prerm(preremove)、copyright (版
权)、changlog (修订记录)和conffiles等。
control: 那个文件器重描述软件包的称谓(Package),版本(Version)以及描述
(Description)等,是deb包必须持有的描述性文件,以便于软件的装置管理和目录。
何况为了能将软件包进行充足的管理,也许还怀有以下字段:
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: 提出安装的其余软件包和库文件。
*************************************
★★control文件内容
Package: addressbook
Version:0.1
Section: utils   #类别
Priority: extra  #首要程度:额外的
Maintainer: cqy <qingtang166@qq.com>
Architecture: i386
Description: The software is a opensource package
from cqy qingtang166@qq.com

**********************************************
★★postinst(软件设置后试行的剧本、实行chomod 755 postinst加可试行权限)内容
#!/bin/sh
dire="/usr/share/addressbook"
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
mkdir -p $dire #在/usr/share/中新建目录贮存程序
mv -f /application $dire/ #将解压到根目录的先后移动到新建好的目录中
cd $dire/application/addressbook/  #步向程序目录
./configure #实行脚本生成Makefile
make #编译
echo "install Ok!"  #安装到位
ln -s $dire/application/addressbook/addressbook /usr/bin/addressbook  #为应
用程序创建链接,链接到/usr/bin/addressbook上(可任性调用addressbook程序)
cp -rf $dire/application/lib/addressbook.png /usr/share/pixmaps/      #把图
标文件addressbook.png放在/usr/share/pixmaps/中
cp -rf $dire/application/lib/addressbook.desktop /usr/share/applications/ #
把桌面文件addressbook.desktop放在/usr/share/applications/中
echo "Ok!"

****************************************************************************
★★postrm(软件卸载后试行的脚本、施行chomod 755 postrm加可实行权限)
#!/bin/sh
dire="/usr/share"
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
rm -rf $dire/addressbook  #删除发生的文书
rm -rf /usr/bin/addressbook
rm -rf $dire/pixmaps/addressbook.png
rm -rf $dire/applications/addressbook.desktop
echo "delete this software is Ok!"

***********************************************************************
归来mydeb所在目录施行
sudo dpkg -b mydeb addressbook_0.1_i386.deb 打包(deb包正确的命名准则program-
name_version_architeture.deb。全体的值应该与它们在control文件里对应的语句相
同)
得到addressbook_0.1_i386.deb包

sudo dpkg -i addressbook_0.1_i386.deb 安装(在应用程序开始菜单的附属类小部件下)
sudo dpkg -P addressbook 卸载

 

 

 

 

 

 

然后就能够利用dpkg命令营造deb包了:

postrm: 软件卸载后需求举办的台本

gedit netease/DEBIAN/control

单个施行文书怎么打包成deb?[已解决]7楼careone正解!

2013-11-16 13:30春色倾负lcyxv | 分类:操作系统/系统故障 | 浏览338次

分享到:

 

2013-11-16 21:38

 

提问者采取

 

1 下载一个其他的 deb 软件包,解压缩后得到2个压缩包: data.tar.gz , control.tar.gz;
2 解压 control.tar.gz ,得到 control 文件(在这个文件中修改软件包依赖关系),删除另外的 md5sums 文件;
3 把自已的文件放在 /usr/local/bin/xxx 文件;

 

 

 

 

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

2.deb包解压

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

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

1.创设解压放置目录

Ubuntu下将现有的文件打包成deb包,修复网易云音乐不能在ubuntu。mkdir -p /tmp/deb

mkdir -p /tmp/deb/DEBIAN

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

dpkg -X some.deb /tmp/deb

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

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

2017-03-21 13-49-29 的显示屏截图.png

从一切过程来看,control文件是相当重大的,因而必要保险它的不利。至于那几个元数据的求实意思,以及为什么必要那些数量,稍后会再认真看一下。并且请小心每条命令前都是“#”,必要选取root权限执行那一个操作。

3.deb包的造作

保存退出
四、重新包装

此地笔者会举例表明,大家要制作叁个名称为kellan-1,0-阿尔法.deb的安装包

dpkg-deb -b netease/ fix/

1.率先成立连锁文书夹

等运营完,fix目录中就能多出三个deb文件.
五、安装

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

mkdir -p /tmp/kellan/usr/share/kellan-1.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

2.开立调控新闻和包文件

测量试验,完美运转!

/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-03-21 13-54-01 的显示器截图.png

3.打包

dpkg -b kellan kellan-1.0-阿尔法.deb   kellan是文件夹

4.安装

dpkg -i kellan-1.0-alpha.deb

5.检查

查看包是或不是安装成功

此刻得以见到/etc/kellan /usr/sbin/kellan /usr/share/kellan-1.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

Ubuntu下将现有的文件打包成deb包,修复网易云音乐不能在ubuntu。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进行设置

本文由澳门新萄京官方网站发布于www.8455.com,转载请注明出处:Ubuntu下将现有的文件打包成deb包,修复网易云音

关键词: