LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 473|回复: 4

squashfs压缩的时候怎们忽略属于某个package的文件?

[复制链接]
发表于 2012-1-12 16:23:39 | 显示全部楼层 |阅读模式
尝试用squashfs将目前用的archlinux /usr分区压缩,做成live usb,
有些软件包太大了,不想包含在最终的压缩文件中,应该怎么实现

目前的想法是利用pacman查询软件包包含的文件,然后用-ef选项去除

但是用pacman -Qlq $packagename的时候总会输入一些干扰信息

比如pacman -Qlq libreoffice-comman的输出如下
---------------------------------------------
/etc/
/etc/bash_completion.d/
/etc/bash_completion.d/libreoffice.sh
/etc/libreoffice/
/etc/libreoffice/bootstraprc
/etc/libreoffice/psprint.conf
/etc/libreoffice/sofficerc
/usr/
/usr/bin/
/usr/bin/libreoffice
/usr/bin/loffice
/usr/bin/lofromtemplate
/usr/bin/soffice
/usr/bin/unopkg
/usr/lib/
/usr/lib/libreoffice/
/usr/lib/libreoffice/CREDITS.odt
/usr/lib/libreoffice/LICENSE
/usr/lib/libreoffice/LICENSE.odt
/usr/lib/libreoffice/THIRD*****LICENSEREADME.html
/usr/lib/libreoffice/basis-link
/usr/lib/libreoffice/basis3.4/
-------------------------------------------------

/etc/
/usr/
/usr/bin/
显然是属于系统目录,不属于libreoffice-comman包的,应该怎么过滤掉这些目录
发表于 2012-1-13 12:30:51 | 显示全部楼层
Post by moneylcj;2158570
尝试用squashfs将目前用的archlinux /usr分区压缩,做成live usb,
有些软件包太大了,不想包含在最终的压缩文件中,应该怎么实现

目前的想法是利用pacman查询软件包包含的文件,然后用-ef选项去除

但是用pacman -Qlq $packagename的时候总会输入一些干扰信息

比如pacman -Qlq libreoffice-comman的输出如下
---------------------------------------------
/etc/
/etc/bash_completion.d/
/etc/bash_completion.d/libreoffice.sh
/etc/libreoffice/
/etc/libreoffice/bootstraprc
/etc/libreoffice/psprint.conf
/etc/libreoffice/sofficerc
/usr/
/usr/bin/
/usr/bin/libreoffice
/usr/bin/loffice
/usr/bin/lofromtemplate
/usr/bin/soffice
/usr/bin/unopkg
/usr/lib/
/usr/lib/libreoffice/
/usr/lib/libreoffice/CREDITS.odt
/usr/lib/libreoffice/LICENSE
/usr/lib/libreoffice/LICENSE.odt
/usr/lib/libreoffice/THIRD*****LICENSEREADME.html
/usr/lib/libreoffice/basis-link
/usr/lib/libreoffice/basis3.4/
-------------------------------------------------

/etc/
/usr/
/usr/bin/
显然是属于系统目录,不属于libreoffice-comman包的,应该怎么过滤掉这些目录


比如只过滤文件,不过滤目录如何?
回复 支持 反对

使用道具 举报

发表于 2012-1-13 13:00:29 | 显示全部楼层
我是写了个脚本处理的,思路如下:
1.把原来的系统拷贝到某一个目录;
2.清理原有的package,使用pacman -R;
3.包含进一些我需要增加到压缩包的内容;
4.有些包不能pacman -R,比如pacman自身,那么通过pacman Ql pacman 查出文件,然后直接删除;
5.打包

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-1-13 21:50:21 | 显示全部楼层
Post by hurricanek;2158616
比如只过滤文件,不过滤目录如何?


我试过了,压缩文件里会多出很多空文件夹,有洁癖,很不爽
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-1-13 21:53:18 | 显示全部楼层
Post by parset;2158619
我是写了个脚本处理的,思路如下:
1.把原来的系统拷贝到某一个目录;
2.清理原有的package,使用pacman -R;
3.包含进一些我需要增加到压缩包的内容;
4.有些包不能pacman -R,比如pacman自身,那么通过pacman Ql pacman 查出文件,然后直接删除;
5.打包


谢谢,但是好像过于复杂了,我还翻了翻pacman的源代码,我推测pacman -R时也要处理这样的问题,很快就放弃了,太麻烦了,只好选择人肉了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表