Linux patch 命令用法详解:为开放源代码软件安装补丁程序 软件包管理

Linux 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:详细显示指令的执行过程。 参数 原文件:指定需要打补丁的原始文件; 补丁文件:指定补丁文件。
阅读全文
Linux rpmquery 命令用法详解:从RPM数据库中查询软件包信息 软件包管理

Linux rpmquery 命令用法详解:从RPM数据库中查询软件包信息

rpmquery命令使用多种依据从rpm数据库中查询软件包信息。 语法 rpmquery(选项) 选项 -qf:查询指定的文件所属的软件包; -q:查询指定的软件包是否被安装; -qc:查询软件包中的配置文件; -qd:查询软件包中的文档文件; -qi:查询软件包的基本信息。 实例 使用rpmquery命令查询指定文件所属的软件包: [[email protected] ~]# rpmquery -qf /usr/bin/htpasswd httpd-2.2.3-81.el5.centos
阅读全文
Linux chkconfig 命令用法详解:检查或设置系统的各种服务 软件包管理

Linux chkconfig 命令用法详解:检查或设置系统的各种服务

chkconfig命令检查、设置系统的各种服务。这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。 语法 chkconfig(选项) 选项 --add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据; --del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据; --level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕。 等级代号列表: 等级0表示:表示关机 等级1表示:单用户模式 等级2表示:无网络连接的多用户命令行模式 等级3表示:有网络连接的多用户命令行模式 等级4表示:不可用 等级5表示:带图形界面的多用户模式 等级6表示:重新启动 需要说明的是,level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。 运行级文件: 每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用-代替运行级。第二行对服务进行描述,可以用\跨行注释。 例如random.init包含三行: # chkconfig: 2345 20 80 # description: Saves and restores system entropy pool for \ # higher quality random number generation. 实例 chkconfig --list #列出所有的系统服务。 chkconfig --add httpd #增加httpd服务。 chkconfig --del httpd #删除httpd服务。 chkconfig --level httpd 2345 on #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态。 chkconfig --list #列出系统所有的服务启动情况。 chkconfig --list mysqld #列出mysqld服务设置情况。 chkconfig --level 35 mysqld on #设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭。 chkconfig mysqld on #设定mysqld在各等级为on,“各等级”包括2、3、4、5等级。 如何增加一个服务: 服务脚本必须存放在/etc/ini.d/目录下; chkconfig --add servicename在chkconfig工具服务列表中增加此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口了; chkconfig...
阅读全文
Linux ntsysv 命令用法详解:集中管理系统的各种服务 软件包管理

Linux ntsysv 命令用法详解:集中管理系统的各种服务

ntsysv命令提供了一个基于文本界面的菜单操作方式,集中管理系统不同的运行等级下的系统服务启动状态。在RedHat各个发行版,CentOS各个版本,都自带这个工具。它具有互动式操作界面,您可以轻易地利用方向键和空格键等,开启,关闭操作系统在每个执行等级中,所要执行的系统服务。 语法 ntsysv(选项) 选项 --leve:指定运行等级; --back:在互动式界面里,显示Back钮,而非cancel钮。 实例 输入ntsysv命令后,出现一个交互式的管理菜单,如下: 使用空格键选择或者取消选项!
阅读全文
Linux apt-get 命令用法详解:Debian Linux发行版中的APT软件包管理工具 软件包管理

Linux apt-get 命令用法详解:Debian Linux发行版中的APT软件包管理工具

apt-get命令是Debian Linux发行版中的APT软件包管理工具。所有基于Debian的发行都使用这个包管理系统。deb包可以把一个应用的文件包在一起,大体就如同Windows上的安装文件。 语法 apt-get(选项)(参数) 选项 -c:指定配置文件。 参数 管理指令:对APT软件包的管理操作; 软件包:指定要操纵的软件包。 实例 使用apt-get命令的第一步就是引入必需的软件库,Debian的软件库也就是所有Debian软件包的集合,它们存在互联网上的一些公共站点上。把它们的地址加入,apt-get就能搜索到我们想要的软件。/etc/apt/sources.list是存放这些地址列表的配置文件,其格式如下: deb [web或ftp地址] [发行版名字] [main/contrib/non-free] 我们常用的Ubuntu就是一个基于Debian的发行,我们使用apt-get命令获取这个列表,以下是我整理的常用命令: 在修改/etc/apt/sources.list或者/etc/apt/preferences之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的: apt-get update 安装一个新软件包: apt-get install packagename 卸载一个已安装的软件包(保留配置文件): apt-get remove packagename 卸载一个已安装的软件包(删除配置文件): apt-get –purge remove packagename 会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件: apt-get autoclean apt 这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的: apt-get clean 更新所有已安装的软件包: apt-get upgrade 将系统升级到新版本: apt-get dist-upgrade 定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,您可以释放大量的磁盘空间。如果您的需求十分迫切,可以使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文件一并删除。大多数情况下您不会再用到这些.debs文件,因此如果您为磁盘空间不足 而感到焦头烂额,这个办法也许值得一试: apt-get autoclean
阅读全文
Linux rpmbuild 命令用法详解:创建RPM的二进制软件包和源码软件包 软件包管理

Linux rpmbuild 命令用法详解:创建RPM的二进制软件包和源码软件包

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包,此时由于是源代码,所以无须按体系结构分类。
阅读全文
Linux dpkg-deb 命令用法详解:Debian Linux下的软件包管理工具 软件包管理

Linux dpkg-deb 命令用法详解:Debian Linux下的软件包管理工具

dpkg-deb命令是Debian Linux下的软件包管理工具,它可以对软件包执行打包和解包操作以及提供软件包信息。 语法 dpkg-deb(选项)(参数) 选项 -c:显示软件包中的文件列表; -e:将主控信息解压; -f:把字段内容打印到标准输出; -x:将软件包中的文件释放到指定目录下; -X:将软件包中的文件释放到指定目录下,并显示释放文件的详细过程; -w:显示软件包的信息; -l:显示软件包的详细信息; -R:提取控制信息和存档的清单文件; -b:创建debian软件包。 参数 文件:指定要操作的“.deb”软件包的全名或软件名。 实例 解压程序文件: dpkg-deb -x drcom-pum_1.0-0ubuntu1~ppa1~jaunty1_i386.deb drcom 解压控制文件: dpkg-deb -e drcom-pum_1.0-0ubuntu1~ppa1~jaunty1_i386.deb drcom/DEBIAN 打包生成deb文件: dpkg-deb -b drcom drcom_1.4.8.2_i386.deb 查询deb包中的文件内容: dpkg-deb -c demo.deb
阅读全文
Linux aptitude 命令用法详解:Debian Linux系统中软件包管理工具 软件包管理

Linux aptitude 命令用法详解:Debian Linux系统中软件包管理工具

aptitude命令与apt-get命令一样,都是Debian Linux及其衍生系统中功能极其强大的包管理工具。与apt-get不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。它通过文本操作菜单和命令两种方式管理软件包。 语法 aptitude(选项)(参数) 选项 -h:显示帮助信息; -d:仅下载软件包,不执行安装操作; -P:每一步操作都要求确认; -y:所有问题都回答“yes”; -v:显示附加信息; -u:启动时下载新的软件包列表。 参数 操作命令:用户管理软件包的操作命令。 实例 以下是我总结的一些常用aptitude命令,仅供参考: aptitude update #更新可用的包列表 aptitude upgrade #升级可用的包 aptitude dist-upgrade #将系统升级到新的发行版 aptitude install pkgname #安装包 aptitude remove pkgname #删除包 aptitude purge pkgname #删除包及其配置文件 aptitude search string #搜索包 aptitude show pkgname #显示包的详细信息 aptitude clean #删除下载的包文件 aptitude autoclean #仅删除过期的包文件 当然,你也可以在文本界面模式中使用 aptitude。
阅读全文
Linux dpkg-divert 命令用法详解:Debian Linux中创建并管理一个转向列表 软件包管理

Linux dpkg-divert 命令用法详解:Debian Linux中创建并管理一个转向列表

dpkg-divert命令是Debian Linux中创建并管理一个转向(diversion)列表,其使得安装文件的默认位置失效的工具。 语法 dpkg-divert(选项)(参数) 选项 --add:添加一个转移文件; --remove:删除一个转移文件; --list:列出匹配的转移; --truename:对应转移文件真实文件名; --quidet:安静模式。 参数 文件:指定转移文件名。 实例 指定软件包wibble安装时,写入/usr/bin/example.foo,而不是/usr/bin/example: dpkg-divert --package wibble --divert /usr/bin/example.foo --rename /usr/bin/example 指定软件包wibble安装时,删除对/usr/bin/example的转移修改: dpkg-divert --package wibble --rename --remove /usr/bin/example 删除对/usr/bin/example的转移修改: dpkg-divert --rename --remove /usr/bin/example 添加一个软件包安装时,写入/usr/bin/example.foo,而不是/usr/bin/example的修改: dpkg-divert --divert /usr/bin/example.foo --rename /usr/bin/example
阅读全文