【麒麟实训-1】Deb的打包(小练习分享)

Deb的两种打包方法小练习。附虚拟机安装Kylin的简要方法。

练习Deb的打包流程。本文章为一次小练习的记录,操作过程多少有瑕疵,可能不适合实践参考。“实训撷英”专栏将有更专门的打包介绍。

文章部分内容来源于我的实训工作文档:《练习1过程文档(改进)》、《练习2过程文档(改进)》。规范的打包过程请参考《麒麟软件打包规范》。

Deb的二进制文件打包

创建DEBIAN文件夹、etc、opt、usr文件夹。

目录格式:

在DEBIAN文件夹下创建control文件:

企业老师给出的意见:

control文件中包含空的关键字,应该删除,如section无对应信息则不存在。

最终的目录结构:

.
├── DEBIAN
│   └── control
├── etc
├── opt
│   └── sublime-text
│       ├── changelog.txt
│       ├── crash_reporter
│       ├── Lib
│       ├── libcrypto.so.1.1
│       ├── libssl.so.1.1
│       ├── Packages
│       ├── plugin_host-3.3
│       ├── plugin_host-3.8
|       ├── Icon 
│       └── sublime_text
└── usr
    └── share
        └── applications
        │   └── sublime_text.desktop
        └──icons
        	└── hicolor
        		├──128x128
            	│   └── apps
            	│   	└── sublime-text.png
            	└──256x256
            	... ...

打包:

sudo dpkg -b project project_v1.0.0_amd64.deb

安装:

sudo dpkg -i project_v1.0.0_amd64.deb
新程序
运行效果

卸载:

sudo dpkg -r project

# 干净卸载:
sudo dpkg -P sublime-text

参考:deb打包流程步骤_逐渐江江江江化的博客-CSDN博客_deb打包

问题解决

开始菜单图标显示不出来的问题

请注意:图标目录Icons的名称和位置进行正确的设置、以及放置。参看上文给的目录树。

比如正确的放置方法时:icons/hicolor/128×128/下,还需要建立apps文件夹,里面放置png图标。

打包报错:软件包名字错误

注意,“Package”字段的内容,用“-”(减号)不用“_”(下划线)哦,否则会报以下错误:

借shibo同学的图
打包报错:与本机架构不符
sudo dpkg --add-architecture amd64

参考:Ubuntu使用dpkg查看与修改architecture的用法_qiuchangyong的博客-CSDN博客

Deb源码打包

下载源码压缩包,解压。

tar zxvf p7zip.tar.gz

将解压后的文件移动到构造好的目录中,得到以下目录结构:

.
├── opt
│   └── apps
│       └── p7zip
│           ├── Asm
│           │   └── x86
│           ├── C
│           ├── check
│           ├── contrib
│           ├── CPP
│           ├── DOC
│           ├── GUI
│           ├── man1
│           └── Utils     // 不应该存放源码
└── usr
    └── share
        ├── applications
        └── icons
            └── hicolor

企业老师给出的意见:

不应该将源码文件全部存放到/opt/apps/p7zip目录下(因为是二进制软件包,不应该将源码存放到对应目录下);不应该有空目录/usr/share/icons/hicolor

在/p7zip-16.02目录下执行指令:

dh_make --createorig -s

生成debian文件夹。

image-20220506102802357

修改debian/control

image-20220506104427558

在rules中添加Override:

image-20220506104934917

在debian下创建install文件,并写入以下内容:

image-20220506110213565

执行debuild命令:

debuild -i -us -uc -b

# 生成过程需要补充安装以下软件(Build-Depends)
sudo apt-get install debhelper

这时,在源码文件的上一级目录会多出几个文件,其中就包括deb包:

image-20220506110901935

执行安装:

sudo dpkg -i p7zip_16.02_all.deb

查看安装效果:

sudo dpkg -l p7zip
image-20220428215252343

可以正常卸载:

sudo dpkg -P p7zip

卸载后查找不到p7zip。

image-20220506111234325

Deb源码打包(野生方法)

从网上找来的自己摸索的方法。可能不符合麒麟软件的打包规范。这是初次练习的成果。

安装需要的工具:

sudo apt-get install debmake
sudo apt-get install python3-debia
sudo apt-get install build-essential

生成debian文件夹配置文件:

debmake -e unknow@unknow.cn -p p7zip -u 16.02 -f "unknow unknow" -n

命令解释:

  • 邮件地址 unknow@unknow.cn
  • 软件包名 p7zip
  • 软件版本号 16.02
  • 作者全名 unknow unknow

命令执行后,会多出debian文件夹:

QQ截图20220427123914

编辑debian/control

QQ截图20220427235600

生成deb包:

sudo dpkg-buildpackage -us -uc -tc

# 生成过程需要补充安装以下软件(Build-Depends)
sudo apt-get install debhelper

这是,在源码文件的上一级目录会多出几个文件,其中就包括deb包:

QQ截图20220427230246

执行安装:

sudo dpkg -i p7zip_16.02_amd64.deb

查看安装效果:

sudo dpkg -l p7zip
QQ截图20220427235449

参考:debmake – CSDN

其他

虚拟机Kylin系统的安装

请参看:使用VirtualBox安装Kylin桌面版操作系统 – 简书 (jianshu.com)

屏幕调大的命令:

xrandr -s 1920x1200_60 # 在麒麟终端输入

自己多试一下:

或者在麒麟桌面设置那里调,一劳永逸。

tree命令

安装:

$ sudo apt-get install tree

使用:

$ tree
$ tree -d # 仅列出目录

参考:linux tree命令,Linux tree命令实例详解_章鱼老师的博客-CSDN博客

5 1 投票
文章评分
订阅评论
提醒

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x