戳我前往bilibili
用了差不多2周的蜥蜴,我的主力也慢慢地从Windows转过来了。在使用的过程中,软件安装的问题还是比较大的。如果您是一个红帽系的用户,您可能会看到某些软件只提供了.deb包而没有提供.rpm包,此时您可能就会需要转换。今天呢就来给大家分享一下,讲一下我遇到的问题。
为什么不直接用dpkg
这种东西~一个就够了,毕竟这种高权限管理软件的东西,一山不能容二虎,安装时可能觉得使用对应的比较简单方便,但万一有一天出现什么问题了,就变成了软件管理起来也麻烦,依赖也是。所以dpkg在我这仅仅是当作一个辅助工具而已,我的主力还是rpm。
是否需要root
在没有root权限的情况下,您在转换时可能看到一个提示:
Warning: alien is not running as root!
Warning: Ownerships of files in the generated packages will probably be wrong.
首先我用某会议示例,第一我先无root转换一遍,第二我再用root权限转换一遍
好,我们来看它们的校验值
我们可以看到两个都不太一样但目录和文件的权限也都差不多
我们两个都解压,对比一下发现,好像又没有什么变化
所以,这个我也不太清楚,如果没有错误我还是用无root的转换
Summary标签的问题
在转换某些包的时候可能会出现,就比如说麒麟的微信那这时候就得重新修改原始的.deb,重新打包了
首先先把data解压出来,再解压出control,注意了,这里需要的用大写
dpkg -X [package].deb [dir];
dpkg -e [package].deb [dir]/DEBIAN
然后进去修改里面的control文件,把这个换行符去掉去掉后大概是这个样子
然后重新开始打包
# 打包
dpkg-deb -b [dir] [PackageName].deb
# 转换
alien -r [packgae].deb
# 安装
sudo zypper in [package].rpm
成功!
执行脚本的问题
还是微信,您可能忽略掉这样一句话大概意思是前置处理
Warning: Skipping conversion of scripts in package weixin: postinst postrm
好,我们先来看看能不能用微信postinst
这个文件无法被正确执行导致无法登陆微信
这两个文件在control里面,我们可以看到一些shell脚本。手动执行一下这些shell脚本,就可以登陆了