1.如果是xxx.deb文件,一般网上都是教你dkpg -i xxx.deb,但是这种方式类似windows里的安装,可能会在很多地方生成一些“垃圾”数据;
我是希望能像绿色版一样,解压后直接就能运行的那种;
2.后来研究了下xxx.deb文件的结构,发现可以做到;
3.工具(360zip linux版)【主要是系统自带的打不开xx.xy的压缩包】,以百度网盘linux为例子;
貌似可以用:dpkg -X ./xxx.deb extractFolder来解压,还没试过;
4.在终端里用root权限打开360zip【不然复制什么的很麻烦】,然后打开百度网盘的.deb包,打开里面的data.tar.xz,继续打开data.tar,点进去可以看到opt和usr,
经过排除usr里面的只是一些图标之类的数据可以不要,打开opt目录,可以看到有baidunetdisk目录,这个就类似windows里绿色软件的根目录了,
5.将这个目录解压复制到app目录,比如我的自定义安装的app都在/opt/app目录里,即会生成/opt/app/baidunetdisk目录,里面有应用的核心数据;
6.由于是用root打开的360zip,因此解压出的baidunetdisk目录及子目录都是属于root,需要改下所属者,用sudo chown -R userName baidunetdisk/即可;
7.运行百度网盘,直接在baidunetdisk里找到可执行文件baidunetdisk运行即可;
这种方式不能保证所有的.deb程序都能成功运行,毕竟有些程序它就是要在其他地方有数据,而且就是要通过安装程序来在那些地方生成初始数据,这种情况除非你知道应用是需要在哪些地方有哪些额外数据,然后手动去弄好他们,否则还是只能用安装的方式来执行【不过看了下deb的打包应该是很简单的打包,不存在那种能够安装时做很多额外操作的样子】
8.之所以想做这个是有时候可能我这边会安装一个应用的多个版本,如果用自动安装的很可能会覆盖安装,这是我不希望看到的;
原文:https://www.cnblogs.com/silentdoer/p/11413898.html