dpkg-preconfigure

dpkg-preconfigure命令用于在Debian Linux中软件包安装之前询问问题。

语法

dpkg-preconfigure(选项)(参数)

选项

-f:选择使用的前端;
-p:感兴趣的最低的优先级问题;
--apt:在apt模式下运行。

参数

软件包:指定“.deb”软件包。

实例

导入debconf模板:

dpkg-preconfigure /var/cache/apt/archives/mysql-server-5.5*.deb

dpkg-statoverride

dpkg-statoverride命令用于Debian Linux中覆盖文件的所有权和模式,让dpkg于包安装时使得文件所有权与模式失效。

语法

dpkg-statoverride(选项)

选项

-add:为文件添加一个改写;
--remove:为文件删除一个改写;
--list:显示所有改写列表;
--update:如果文件存在,则立刻执行改写操作。

实例

修改文件夹的权限属性:

sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3

强制修改文件夹的权限属性:

sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd

将文件从数据库中删除:

sudo dpkg-statoverride --remove /usr/bin/wall

patch

patch命令被用于为开放源代码软件安装补丁程序。让用户利用设置修补文件的方式,修改,更新原始文件。如果一次仅修改一个文件,可直接在命令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。

语法

patch(选项)(参数)

选项

-b或--backup:备份每一个原始文件;
-B<备份字首字符串>或--prefix=<备份字首字符串>:设置文件备份时,附加在文件名称前面的字首字符串,该字符串可以是路径名称;
-c或--context:把修补数据解译成关联性的差异;
-d<工作目录>或--directory=<工作目录>:设置工作目录;
-D<标示符号>或--ifdef=<标示符号>:用指定的符号把改变的地方标示出来;
-e或--ed:把修补数据解译成ed指令可用的叙述文件;
-E或--remove-empty-files:若修补过后输出的文件其内容是一片空白,则移除该文件;
-f或--force:此参数的效果和指定"-t"参数类似,但会假设修补数据的版本为新版本;
-F<监别列数>或--fuzz<监别列数>:设置监别列数的最大值;
-g<控制数值>或--get=<控制数值>:设置以RSC或SCCS控制修补作业;
-i<修补文件>或--input=<修补文件>:读取指定的修补问家你;
-l或--ignore-whitespace:忽略修补数据与输入数据的跳格,空格字符;
-n或--normal:把修补数据解译成一般性的差异;
-N或--forward:忽略修补的数据较原始文件的版本更旧,或该版本的修补数据已使 用过;
-o<输出文件>或--output=<输出文件>:设置输出文件的名称,修补过的文件会以该名称存放;
-p<剥离层级>或--strip=<剥离层级>:设置欲剥离几层路径名称;
-f<拒绝文件>或--reject-file=<拒绝文件>:设置保存拒绝修补相关信息的文件名称,预设的文件名称为.rej;
-R或--reverse:假设修补数据是由新旧文件交换位置而产生;
-s或--quiet或--silent:不显示指令执行过程,除非发生错误;
-t或--batch:自动略过错误,不询问任何问题;
-T或--set-time:此参数的效果和指定"-Z"参数类似,但以本地时间为主;
-u或--unified:把修补数据解译成一致化的差异;
-v或--version:显示版本信息;
-V<备份方式>或--version-control=<备份方式>:用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用"-z"参数变更,当使用"-V"参数指定不同备份方式时,也会产生不同字尾的备份字符串;
-Y<备份字首字符串>或--basename-prefix=--<备份字首字符串>:设置文件备份时,附加在文件基本名称开头的字首字符串;
-z<备份字尾字符串>或--suffix=<备份字尾字符串>:此参数的效果和指定"-B"参数类似,差别在于修补作业使用的路径与文件名若为src/linux/fs/super.c,加上"backup/"字符串后,文件super.c会备份于/src/linux/fs/backup目录里;
-Z或--set-utc:把修补过的文件更改,存取时间设为UTC;
--backup-if-mismatch:在修补数据不完全吻合,且没有刻意指定要备份文件时,才备份文件;
--binary:以二进制模式读写数据,而不通过标准输出设备;
--help:在线帮助;
--nobackup-if-mismatch:在修补数据不完全吻合,且没有刻意指定要备份文件时,不要备份文件;
--verbose:详细显示指令的执行过程。

参数

  • 原文件:指定需要打补丁的原始文件;
  • 补丁文件:指定补丁文件。

rpmquery

rpmquery命令使用多种依据从rpm数据库中查询软件包信息。

语法

rpmquery(选项)

选项

-qf:查询指定的文件所属的软件包;
-q:查询指定的软件包是否被安装;
-qc:查询软件包中的配置文件;
-qd:查询软件包中的文档文件;
-qi:查询软件包的基本信息。

实例

使用rpmquery命令查询指定文件所属的软件包:

[root@localhost ~]# rpmquery -qf /usr/bin/htpasswd
httpd-2.2.3-81.el5.centos

lpr

lpr命令用于将文件发送给指定打印机进行打印,如果不指定目标打印机,则使用默认打印机。

语法

lpr(选项)(参数)

选项

-E:与打印服务器连接时强制使用加密;
-H:指定可选的打印服务器;
-C:指定打印任务的名称;
-P:指定接受打印任务的目标打印机;
-U:指定可选的用户名;
-#:指定打印的份数;
-h:关闭banner打印;
-m:打印完成后发送E-mail;
-r:打印完成后删除文件。

参数

文件:需打印的文件。

实例

将man1和man2送到打印机lp进行打印:

lpr -P lp man1 man2

lprm

lprm命令用于删除打印队列中的打印任务。尚未完成的打印机任务会被放在打印机贮列之中,这个命令可用来将常未送到打印机的任务取消。

语法

lprm(选项)(参数)

选项

-E:与打印服务器连接时强制使用加密;
-P:指定接受打印任务的目标打印机;
-U:指定可选的用户名。

参数

打印任务:指定需删除的打印任务号。

实例

将打印机hpprint中的第102号任务移除:

lprm -Phpprint 102

将第101号任务由预设打印机中移除:

lprm 101

eject

eject命令用来退出抽取式设备。若设备已挂入,则eject命令会先将该设备卸除再退出。

eject允许可移动介质(典型是cd-ROM、软盘、磁带、或者JAZ以及zip磁盘)在软件控制下弹出。该命令也可以控制一些多盘片CD-ROM控制器,控制一些设备支持的自动弹出功能,以及控制一些CD-ROM驱动器磁盘托盘的关闭。与name相应的设备将被弹出,name可以为设备文件或者其挂载点,也可以为完整路径或者省略前面的/dev或者/mnt设备文件名。如果没有指定name,缺省使用cdrom。

有四种不同的弹出的方法,具体要看设备是CD-ROM, SCSI设备,可移动软盘,还是磁带而定。默认的弹出会依次尝试所有四种方法,直到成功为止。如果设备当前是挂载上来的,那么在弹出前要先卸载。

语法

eject(选项)(参数)

选项

-a<开关>或--auto<开关>:控制设备的自动退出功能;
-c<光驱编号>或--changerslut<光驱编号>   选择光驱柜中的光驱;
-d或--default:显示预设的设备,而不是实际执行动作;
-f或--floppy:退出抽取式磁盘;
-h或--help:显示帮助;
-n或--noop:显示指定的设备;
-q或--tape:退出磁带;
-r或--cdrom:退出光盘;
-s或--scsi:以SCSI指令来退出设备;
-t或--trayclose:关闭光盘的托盘;
-v或--verbose:执行时,显示详细的说明。

参数

设备名:指定弹出的设备名称。

rpmbuild

rpmbuild命令被用于创建rpm的二进制软件包和源码软件包。

语法

rpmbuild(选项)

选项

--initdb:初始化RPM数据库;
--rebuilddb:从已安装的包头文件,方向重建RPM数据库;
-ba:创建二进制和源代码包;
-bb:创建二进制代码包;
-bs:创建源代码包。

实例

rpmbuild -ba 'spec文件路径'

build完后,可以在/usr/src/redhat/RPMS/下找到二进制rpm包,rpm包按照其对应的cpu体系结构分类,通常在/usr/src/redhat/RPMS/i386目录下。/usr/src/redhat/SRPMS/下找到源码rpm包,此时由于是源代码,所以无须按体系结构分类。