RPM的一些使用技巧及其他
最近工作中用到的一些Linux小技巧,比较零散,所以没有分类整理,可能看起来比较麻烦。
查询某个RPM包依赖的包。-qR这么有用的参数rpm --help
里面居然没有写!(仅写了长格式 --requires
)
rpm -qR coreutils
创建RPM包时的两个有用的设置:
# 防止创建带调试信息的RPM包
%define debug_package %{nil}
# 打包之前不要对目标文件做strip(如打包脚本时没必要strip)
%define __os_install_post %{nil}
# 禁止自动搜索依赖关系
Autoreq: no
Autoprov: no
关于sed:sed正则表达式中的 . 符号匹配对象并不是“任意字符”而是“任意可显示的英文字符”, 包括英文字母、数字、特殊符号、空白等,但不包括0-31的控制字符和127以后的特殊字符。 因此在匹配非英文字符时要当心,虽然多语言版能匹配绝大部分的非英文字符,但也有特例。 目前发现 euc-jp 编码下的日文字符大部分都不能被匹配。例如:
$ cat japanese
テスト
test 添付ファイル
$ sed -e 's/.*/__&__/' < japanese
____テスト
__test 添__付ファイル
另一个使用sed的简单脚本,实现类似grep的功能,但它将匹配的行用特殊颜色显示:
# cat mgrep
#!/bin/sh
sed -e "/$1/s/.*/\x1b[0;30;43m&\x1b[m/"
如何将文件比较结果直接输出到vim中(因为vim有语法高亮):
$ diff foo bar | vi -
另外Fenng最近提到的一篇关于防止 rm -rf / 的文章也很有参考价值。