Fedora

最实用的 Fedora 应用教程,提供完整的 Fedora 学习教程和资料,以及使用 Fedora 进行各种日常应用。解决使用 Fedora 常遇见的问题,交流 Fedora 使用经验和心得 :D

网络接口配置文件

在 Linux 中,网络接口配置文件用于控制系统中的软件网络接口,并通过接口实现对网络设备的控制。当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如此对这些接口进行配置。

在 Linux 中,网络接口配置文件用于控制系统中的软件网络接口,并通过这些接口实现对网络设备的控制。当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如何对这些接口进行配置。接口配置文件的名称通常类似于 ifcfg-<name>,其中 <name> 与配置文件所控制的设备的名称相关。

在所有的网络接口中,我们日常中最常用到的接口类型就是以太网接口。

以太网接口

在所有的网络配置文件中,最常用的就是 ifcfg-eth0,因为它是系统中第一块网卡的配置文件。如果系统中有多块网卡,ifcfg-eth 后面的数字就会依次递增。正因为每个设备都有对应的一个配置文件,因此管理员也能够单独地控制每一个设备。

以下是一个 ifcfg-eth0 配置文件的示例,在配置中已经为网卡设置好了 IP 地址。

Linux 网络接口

在 Fedora 中,所有的网络通讯都发生在软件接口与物理网络设备之间。与网络接口配置相关的文件,以及控制网络接口状态的脚本文件,全都位于 /etc/sysconfig/netwrok-scripts/ 目录下。

在 Linux 中,所有的网络通讯都发生在软件接口与物理网络设备之间。与网络接口配置相关的文件,以及控制网络接口状态的脚本文件,全都位于 /etc/sysconfig/netwrok-scripts/ 目录下。虽然在不同的系统之间,这些文件的类型和数量并不一定相同,但大致来讲,都包含以下几类与网络相关的配置文件:

  • 网络接口配置文件
  • 网络接口控制脚本
  • 与网络相关的函数库文件(function files)

各种的网络设备都需要用到这些文件保证设备的正常动作

本章将深入探讨这些文件的用途,以及使用它们的方式。

 

Linux 网络接口

网络配置文件

在开始对 Linux 进行网络配置之前,我们先要认识与网络配置相关的一些主要配置文件。了解这些配置文件如何控制和影响网络,对你自定义 Fedora 系统的网络非常有帮助。

在开始对 Linux 进行网络配置之前,我们先要认识与网络配置相关的一些主要配置文件。了解这些配置文件如何控制和影响网络,对你自定义 Fedora/Linux 系统的网络非常有帮助。

以下是 Linux 中主要的几个网络配置文件,目前你只需要大致了解一下,在之后的教程中会详细讲解各种网络配置:

/etc/hosts

这个文件用于设置主机名与 IP 映射关系,为那些无法通过其它方式 (如通过 DNS 服务器) 解析的主机名进行解析,它还能够在没有 DNS 的小型网络中充当主机名解析的角色。不论计算机在什么类型的网络上,hosts 文件中都有关于环回链路(127.0.0.1)的主机记录 (localhost.localdomain)。

更多有关 hosts 文件的信息,请参考 hosts 文件的 man 文档。

/etc/resolv.conf

RPM 命令常见用法实例

RPM 不仅是管理系统软件包的强力工具,还是论断和修复难题得力助手。通过查看和学习各个选项的实际示例,能让你更好的理解这一点。

RPM 不仅是管理系统软件包的强力工具,还是论断和修复难题得力助手。通过查看和学习各个选项的实际示例,能让你更好的理解这一点。

也许你不小心删除了某个文件,但是又不确定删除的是什么。通过验证整个系统的软件包,RPM 能够帮你找出哪些文件丢失,或者出现了其它问题。

~]# rpm -Va

如果文件丢失,或者不通过验证,你可以考虑重新安装软件包来解决这个问题。

有时你看到某个不认识的文件,可以使用以下命令找出它属于哪一个软件包

~]# rpm -qf /usr/bin/ghostscript
ghostscript-8.70-1.fc12.x86_64

如果你想查看某个程序的更多信息,可以使用以下命令列出与该程序相关的文档资料

检查 RPM 软件包及签名

如果你希望检查一个软件包是否损坏或者被窜改,你可以通过 RPM 命令检查软件包的 MD5 校验值。并且在成功导入 GnuPG 密钥之后,还能使用 RPM 命令对 RPM 软件包进行签名验证

检查软件包完整性

如果希望检查一个软件包是否损坏或者被窜改,可以通过以下命令检查软件包的 MD5 校验值 (注意将 <rpm_file> 更改为你希望检查的软件包的路径或名称)

~]# rpm -K --nosignature <rpm_file>
<rpm_file>: rsa sha1 (md5) pgp md5 OK

类似于上下输出结果则表示得到的是正确的(未损坏的、未被篡改的)软件包

如果希望看到详细的输出信息,可以使用 -Kvv 选项代替 -K 选项。

使用 RPM 命令验证软件包

验证软件包,通常是指比较安装的文件的信息与原软件包中的信息进行比对。其中包含每个文件的大小、MD5 校验值、权限、类型、用户及用户组的验证。

验证软件包,通常是指比较安装的文件的信息与原软件包中的信息进行比对。其中包含每个文件的大小、MD5 校验值、权限、类型、用户及用户组的验证。

使用 -V 选项对软件包进行验证,例如使用 rpm -V tree 命令,就会将 tree 软件包中的所有文件与它们最开始的安装时的情况进行对比验证。

~]# rpm -V tree

验证指定的文件可以使用以下命令

~]# rpm -Vf /usr/bin/tree
说明:执行指定文件的验证时,需要使用文件的绝对路径。

结合 -a 参数,可以对系统中所有安装的软件包进行验证(所需要时间较长)

~]# rpm -Va

验证已安装的 RPM 软件包

使用 RPM 命令查询软件包

RPM 数据库中存储了安装在系统中所有软件包的信息,数据库的位置是 /var/lib/rpm/ 使用这个数据库,你能够查询到系统中安装了哪些软件包、软件包的版本号是多少、软件包中的文件自安装之后进行了多少更改,以及其它方面查询。

RPM 数据库中存储了安装在系统中所有软件包的信息,数据库的位置是 /var/lib/rpm/ 使用这个数据库,你能够查询到系统中安装了哪些软件包、软件包的版本号是多少、软件包中的文件自安装之后进行了多少更改,以及其它方面查询。

查询这个数据库,需要使用 -q 选项。例如使用 rpm -q <package_name> 命令查询软件包是否已经安装,对于已安装的软件包,则会返回 rpm 包的全名

~]# rpm -q tree
tree-1.5.2.2-4.fc12.x86_64

在查询时,你还可以通过使用以下选项与 -q 选项配合,加强 RPM 的查询功能 ( rpm 的查询功能十分强大而且有效,更多信息可以参考 man rpm)

使用 RPM 命令更新软件包

更新 (Freshening) 选项 与升级 (Upgrading) 选项十分相似,唯一的不同是 -F 选项只会更新系统中已安装的软件包,对于没有安装的软件包,不会像 -U 选项那样,直接对其进行安装。

更新 (Freshening) 选项 与升级 (Upgrading) 选项十分相似,唯一的不同是 -F 选项只会更新系统中已安装的软件包,对于没有安装的软件包,不会像 -U 选项那样,直接对其进行安装。

~]# rpm -Fvh foo-2.0-1.fc12.x86_64.rpm

RPM 的 -F 选项会对比已安装的软件包的版本和要提供的软件包的版本,如果提供的软件包的版本更新,RPM 则执行升级操作。但当系统中没有安装某软件包的老版本时, -F 选项不会安装软件包 (-U 选项会执行安装操作)。

以下是一个使用 -F 选项的场合。比如你得到一张新的软件包光盘,你想对系统中的软件包做一次大面积地更新,却又不想安装那些光盘中有,而系统中没有安装的软件包。使用 -F 选项,就能做到只对安装的软件包进行更新。

~]# rpm -Fvh *.rpm

使用 RPM 命令升级软件包

升级软件包与安装软件包的命令十分相似,只是升级使用 -U 选项,而安装是使用 -i 选项。当系统中没有安装先前版本的软件包时,-U 选项则会执行安装的操作。

升级软件包与安装软件包的命令十分相似,只是升级使用 -U 选项,而安装是使用 -i 选项。

假设名为 tree-1.5.3.0-1.fc12.x86_64.rpm 的软件名位于当前目录,并且我们已经在系统中安装了名为 tree-1.5.2.2-4.fc12.x86_64.rpm 的软件包,我们则可以通过以下命令对软件包进行升级

~]# rpm -Uvh tree-1.5.3.0-1.fc12.x86_64.rpm

作为升级软件包进程的一部分,RPM 会自动卸载之前老版本的 tree 软件包。当系统中没有安装先前版本的软件包时,-U 选项则会执行安装的操作。因此使用 -U 选项,即能够安装,也能够升级软件包。

使用 RPM 安装软件包的常见问题

使用 RPM 命令安装软件包的常见问题包括:软件包已经被安装、文件冲突,以及未被解析的软件包依赖性。

软件包已经被安装

如果某个名称和版本号都相同的软件包已经被安装在系统中,在使用 rpm 命令进行安装时则会输出以下信息,提示你软件已经被安装 (already installed)

Preparing...                ########################################### [100%]
 package tree-1.5.2.2-4.fc12.x86_64 is already installed

使用 --replacepkgs 选项让 RPM 忽略上述错误信息,执行软件包的覆盖安装。

页面