将deb软件和依赖打包成离线安装包

歌曲推送




《不为谁而作的歌》- 林俊杰



不为谁而作,却更深植于你我的内心。
「一年前的今天我开始了一个全新的旅程,我下了一个决心-卸下了对于流行音乐的包袱,重新定义我与自己的音乐。
我问了自己一个问题:音乐制作的过程,还有什么是我还没尝试过的?
于是我开始了这个计划。我希望把我内心深处许多说不出来的感触,用琴声,用旋律,用自己的声音表达出来。希望这样的举动,能够让我看到一个从来未见过的自己,跟那个一直躲在自己心里某处的自己 聊聊天,谈谈心。
我发现,我很久没有好好 跟自己对话 了。」~JJ LIN「和自己对话 From M.E. To Myself」
「安静,才能听见自己」

前言

   linux发行版有很多,软件的打包安装方式也有很多,我一直使用ubuntu,ubuntu基于debian,属于deb系,deb系有很庞大的软件仓库,也有很强大的安装工具,那就是apt,只需一条 apt intall software_name 便可从软件源安装完成,有网的话 apt 一键安装,各种依赖 apt 会自动解决,但是离线的话怎么办呢?下面就来给出解决办法。

软件源含有所要安装的软件

这种情况比较轻松,以下命令就能轻松完成,

1
2
$ sudo apt clean #清空缓存
$ sudo apt install -d software_name # -d 参数的意思是只下载不安装

执行之后,便会在 /var/cache/apt/archives 目录下看到软件和他的依赖包,将这些deb拷贝出来并压缩,便可制成离线安装包。

软件源不含有所要安装的软件

这种情况也不是很难,以搜狗输入法为例,
下载sogoupinyin_2.1.0.0086_amd64.deb,并安装

1
$ sudo dpkg -i sogoupinyin_2.1.0.0086_amd64.deb

这时会看到错误提示说未安装依赖。
接下来是重点,执行以下命令:

1
2
$ sudo apt clean #清空缓存
$ sudo apt-get install -f

执行之后,便会安装缺少的依赖项,这些依赖包同样在 /var/cache/apt/archives 目录中,将这些deb拷贝出来和主deb压缩,便可制成离线安装包。这里需要注意的是,一定要用 apt-get 命令安装,因为 apt 命令安装后会自动清空缓存,这样会导致依赖包被删。

另外需要注意的是,装好搜狗输入法之后,在Fcitx配置中,将启动输入法快捷键由 Ctrl+Space 换成别的,比如 Super+Space ,因为 Ctrl+Space 是 QtCreator 智能提示的快捷键,不改的话两者会发生冲突.


   先到这里吧,这是小白的我总结出来的,大神们肯定还有更高明的办法,以后学习到了再来更新,哈哈…