在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
安装软件包 -ivh 获得一个详细的安装进程 效验 rpm -Va S -- 文件长度 L -- 符号链接 T -- 文件修改日期 D -- 设备 U -- 用户 G -- 用户组 M -- 模式 (包含许可和文件类型) ? -- 不可读文件
1 安装 # rpm -ivh foo-1.0-1.i386.rpm 正如您所看到的, RPM 将会打印出软件包的名字 ( 并不一定要与文件名相同, 可能是 1.rpm), 而后打印出一连串的 # 号以表示安装进度。
软件包的安装设计非常简单, 但还是有可能发生以下错误: # rpm -ivh foo-1.0-1.i386.rpm 如果仍要安装该包, 可以在命令行中使用 --replacepkgs 选项, 这样 RPM 将忽略该错误信息: # rpm -ivh --replacepkgs foo-1.0-1.i386.rpm 文件冲突 # rpm -ivh foo-1.0-1.i386.rpm 要想让RPM 忽略该错误信息, 请使用 --replacefiles 命令行选项: # rpm -ivh --replacefiles foo-1.0-1.i386.rpm 未解决依赖关系 # rpm -ivh bar-1.0-1.i386.rpm 只有先安装完所依赖的软件包,才能解决这个问题。 如果想强制安装 (这不是个好办法,因为安装后的软件包未必能正常运行), 可以使用 --nodeps 命令行选项。 3.2.2 卸载 # rpm -e foo
在卸载某个软件包时,可能会发生依赖关系错误,这说明其它包与此包之间有安装依赖关系。例如: # rpm -e foo 要使 RPM 在卸载此包时忽略该错误 (这不是个好办法,因为卸载后,与它有依赖关系的软件包未必能正常运行), 使用 --nodeps 命令行选项。 3.2.3 升级 # rpm -Uvh foo-2.0-1.i386.rpm RPM 将自动卸载已安装的老版本的 foo 软件包,用户无法看到有关信息。事实上用户可能总是使用 -U 来安装软件包, 因为即便以往未安装过该软件包,也能正常运行。 因为 RPM 执行智能化的软件包升级,自动处理配置文件,会显示如下信息: saving /etc/foo.conf as /etc/foo.conf.rpmsave 这表示用户对配置文件的修改,不一定能 "向上兼容" 该软件包中的配置文件。 因此,RPM 会备份原始的文件,再安装新文件。用户应当尽快解决这两个配置文件的不同之处,以便系统能持续正常运行。 因为升级其实就是软件包的卸载与安装的综合,也可能会遇见那些操作中所可能发生的错误。 再有就是: 在使用 旧 版本的 RPM 软件包来升级新版本的软件时,会产生以下信息: # rpm -Uvh foo-1.0-1.i386.rpm 要使用 RPM 强行 "升级" , 请使用 --oldpackage 命令行参数: # rpm -Uvh --oldpackage foo-1.0-1.i386.rpm 3.2.4 更新 # rpm -Fvh foo-1.2-1.i386.rpm RPM 更新选项,是检查命令行中指明的包版本与安装在系统中的包版本是否一致。 当 RPM 更新选项处理完已安装包的新版本时,该包会升级到新版本。 但是,RPM 更新选项无法安装系统目前没有的软件包。 这与 RPM 升级不同,升级选项 能够 安装软件包,无论旧版本的包是否已安装。 RPM 更新选项可以很好的更新一个软件包或一组软件包。 如果用户下载了大量的软件包,但只想升级系统中已有的包时,RPM 更新选项会非常有用。 使用 RPM 更新选项意味着你无需从下载的包中挑挑拣拣,也不用事先删除不要的包。 这种情况下, 只需简单的键入: # rpm -Fvh *.rpm RPM 工具会自动升级那些已经安装好的包。 3.2.5 查询 # rpm -q foo 除了指定包名以外,用户还可以使用以下选项与 -q 连用,来指明要查询哪些软件包的信息。这些选项被称之为 软件包指定选项 。
-f <file> 将查询包含有文件 <file>的软件包。 -p <packagefile> 查询软件包文件名为 <packagefile>的包。 有几种方式来指定查询软件包时所显示的信息。 以下选项可以出选择感兴趣的信息,加以显示。这样的选项被称作 信息选择选项 。
-l 列出软件包中包含的文件。 -s 显示软件包中所有文件的状态。 -d 列出被标注为文档的文件 (如,man 手册、 info 信息、README,等等) 。 -c 列出被标注为配置文件的文件。这些文件是需要在安装完毕后加以定制的,如 (sendmail.cf, passwd, inittab, 等) 。 如果要在执行上述选项的同时,显示文件列表, 可以同时使用 -v 命令行选项,就能得出与 ls -l 格式类似的输出。 3.2.6 校验 使用 rpm -V 命令进行包校验。用户可以配合使用各个包选择选项 ,来列出校验包的查询结果。 简单地使用 rpm -V foo 可以校验 foo 包中原始安装时的所有文件。例如:
如果校验结果一切正常,将不会产生任何输出。如果有不一致的地方,会显示出来。 输出格式是8位长字符串, "c" 用以指配置文件, 接着是文件名。8位长字符,每个代表一个文件属性与RPM数据库中记录的属性相比较的结果。"." (点) 表示测试通过。 下面的字符代表某测试的失败:
S -- 文件长度 L -- 符号链接 T -- 文件修改日期 D -- 设备 U -- 用户 G -- 用户组 M -- 模式 (包含许可和文件类型) ? -- 不可读文件 如果有信息输出, 用户应当认真加以考虑,是该删除、重新安装、还是修正出现的问题。 3.2.1 安装 # rpm -ivh foo-1.0-1.i386.rpm 正如您所看到的, RPM 将会打印出软件包的名字 ( 并不一定要与文件名相同, 可能是 1.rpm), 而后打印出一连串的 # 号以表示安装进度。
软件包的安装设计非常简单, 但还是有可能发生以下错误: # rpm -ivh foo-1.0-1.i386.rpm 如果仍要安装该包, 可以在命令行中使用 --replacepkgs 选项, 这样 RPM 将忽略该错误信息: # rpm -ivh --replacepkgs foo-1.0-1.i386.rpm 文件冲突 # rpm -ivh foo-1.0-1.i386.rpm 要想让RPM 忽略该错误信息, 请使用 --replacefiles 命令行选项: # rpm -ivh --replacefiles foo-1.0-1.i386.rpm 未解决依赖关系 # rpm -ivh bar-1.0-1.i386.rpm 只有先安装完所依赖的软件包,才能解决这个问题。 如果想强制安装 (这不是个好办法,因为安装后的软件包未必能正常运行), 可以使用 --nodeps 命令行选项。 3.2.2 卸载 # rpm -e foo
在卸载某个软件包时,可能会发生依赖关系错误,这说明其它包与此包之间有安装依赖关系。例如: # rpm -e foo 要使 RPM 在卸载此包时忽略该错误 (这不是个好办法,因为卸载后,与它有依赖关系的软件包未必能正常运行), 使用 --nodeps 命令行选项。 3.2.3 升级 # rpm -Uvh foo-2.0-1.i386.rpm RPM 将自动卸载已安装的老版本的 foo 软件包,用户无法看到有关信息。事实上用户可能总是使用 -U 来安装软件包, 因为即便以往未安装过该软件包,也能正常运行。 因为 RPM 执行智能化的软件包升级,自动处理配置文件,会显示如下信息: saving /etc/foo.conf as /etc/foo.conf.rpmsave 这表示用户对配置文件的修改,不一定能 "向上兼容" 该软件包中的配置文件。 因此,RPM 会备份原始的文件,再安装新文件。用户应当尽快解决这两个配置文件的不同之处,以便系统能持续正常运行。 因为升级其实就是软件包的卸载与安装的综合,也可能会遇见那些操作中所可能发生的错误。 再有就是: 在使用 旧 版本的 RPM 软件包来升级新版本的软件时,会产生以下信息: # rpm -Uvh foo-1.0-1.i386.rpm 要使用 RPM 强行 "升级" , 请使用 --oldpackage 命令行参数: # rpm -Uvh --oldpackage foo-1.0-1.i386.rpm 3.2.4 更新 # rpm -Fvh foo-1.2-1.i386.rpm RPM 更新选项,是检查命令行中指明的包版本与安装在系统中的包版本是否一致。 当 RPM 更新选项处理完已安装包的新版本时,该包会升级到新版本。 但是,RPM 更新选项无法安装系统目前没有的软件包。 这与 RPM 升级不同,升级选项 能够 安装软件包,无论旧版本的包是否已安装。 RPM 更新选项可以很好的更新一个软件包或一组软件包。 如果用户下载了大量的软件包,但只想升级系统中已有的包时,RPM 更新选项会非常有用。 使用 RPM 更新选项意味着你无需从下载的包中挑挑拣拣,也不用事先删除不要的包。 这种情况下, 只需简单的键入: # rpm -Fvh *.rpm RPM 工具会自动升级那些已经安装好的包。 3.2.5 查询 # rpm -q foo 除了指定包名以外,用户还可以使用以下选项与 -q 连用,来指明要查询哪些软件包的信息。这些选项被称之为 软件包指定选项 。
-f <file> 将查询包含有文件 <file>的软件包。 -p <packagefile> 查询软件包文件名为 <packagefile>的包。 有几种方式来指定查询软件包时所显示的信息。 以下选项可以出选择感兴趣的信息,加以显示。这样的选项被称作 信息选择选项 。
-l 列出软件包中包含的文件。 -s 显示软件包中所有文件的状态。 -d 列出被标注为文档的文件 (如,man 手册、 info 信息、README,等等) 。 -c 列出被标注为配置文件的文件。这些文件是需要在安装完毕后加以定制的,如 (sendmail.cf, passwd, inittab, 等) 。 如果要在执行上述选项的同时,显示文件列表, 可以同时使用 -v 命令行选项,就能得出与 ls -l 格式类似的输出。 3.2.6 校验 使用 rpm -V 命令进行包校验。用户可以配合使用各个包选择选项 ,来列出校验包的查询结果。 简单地使用 rpm -V foo 可以校验 foo 包中原始安装时的所有文件。例如:
如果校验结果一切正常,将不会产生任何输出。如果有不一致的地方,会显示出来。 输出格式是8位长字符串, "c" 用以指配置文件, 接着是文件名。8位长字符,每个代表一个文件属性与RPM数据库中记录的属性相比较的结果。"." (点) 表示测试通过。 下面的字符代表某测试的失败:
S -- 文件长度 L -- 符号链接 T -- 文件修改日期 D -- 设备 U -- 用户 G -- 用户组 M -- 模式 (包含许可和文件类型) ? -- 不可读文件 如果有信息输出, 用户应当认真加以考虑,是该删除、重新安装、还是修正出现的问题。 |
请发表评论