迁移规划指南
Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 之间的主要区别
摘要
第 1 章 如何升级
原位升级(in-place upgrade)是把系统升级到下一个主要 RHEL 版本的推荐并支持的方法。
1.1. 如何从 Red Hat Enterprise Linux 6 升级
从 RHEL 6 升级到 RHEL 7 指南介绍了从 RHEL 6 升级到 RHEL 7 的步骤。支持的原位升级路径是从 RHEL 6.10 升级到 RHEL 7.9。
如果您正在使用 SAP HANA,请参阅如何将使用 SAP HANA 的 RHEL 6 升级到 RHEL 7。请注意,使用 SAP HANA 的 RHEL 的升级路径可能会有所不同。
从 RHEL 6 升级到 RHEL 7 的过程包括以下步骤:
- 检查红帽是否支持您的升级系统。
- 准备系统升级:安装所需的软件仓库和软件包,删除不受支持的软件包。
- 使用 Preupgrade Assistant 检查您的系统是否存在可能会影响升级的问题。
- 运行 Red Hat Upgrade Tool 来升级您的系统。
第 2 章 主要变化和迁移注意事项
本章讨论可能会影响从 Red Hat Enterprise Linux 6 迁移到 Red Hat Enterprise Linux 7 的主要变化和功能。请仔细阅读每个部分,以明确了解升级到 Red Hat Enterprise Linux 7 将会对您的系统产生什么影响。
2.1. 系统限制
Red Hat Enterprise Linux 支持的系统限制在版本 6 和版本 7 之间有所变化。
Red Hat Enterprise Linux 7 现在需要至少 1 GB 磁盘空间安装。但是,红帽建议在所有支持的构架中,至少有 5 GB 磁盘空间。
AMD64 和 Intel 64 系统现在需要至少有 1 GB 内存。红帽建议每个逻辑 CPU 至少有 1 GB 内存。在以下限制范围内支持 AMD64 和 Intel 64 系统:
- 最多 3TB 内存(理论上的限制: 64 TB)
- 最多 160 个逻辑 CPU(理论上的限制: 5120 逻辑 CPU)
64 位 Power 系统现在需要至少 2 GB 内存才能运行。在以下限制范围内支持它们:
- 最多 2TB 内存(理论上的限制: 64 TB)
- 最多 128 个逻辑 CPU(理论上的限制: 2048 个逻辑 CPU)
IBM System z 系统现在需要至少 1 GB 内存才能运行,且理论上可以支持限制在以下限制:
- 最多 3TB 内存
- 最多101 个逻辑 CPU
有关 Red Hat Enterprise Linux 7 要求和限制的最新信息请参考 https://access.redhat.com/site/articles/rhel-limits。要检查您的硬件或软件是否经过认证,请参阅 https://access.redhat.com/certifications。
2.2. 安装和引导
本部分介绍了在 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 之间对安装工具和进程所做的更改。
2.2.1. 新的 Boot Loader
Red Hat Enterprise Linux 7 引进了 GRUB2 引导装载程序(boot loader),它在 Red Hat Enterprise Linux 7.0 及之后的版本中替换了旧的 GRUB。和之前的版本相比,GRUB2 支持更多的文件系统和虚拟块设备。它会自动扫描并配置可用操作系统。用户界面也有改进,用户可以选择跳过引导装载程序安装。
但是,迁移到 GRUB2 后,将不支持将引导装载程序安装到带有 MBR 风格的分区表的 BIOS 机器中的格式化分区。进行这个变化的原因是,有些文件系统具有自动优化功能,这些功能可移动核心引导装载程序镜像的部分,这可能会破坏以前版本的 GRUB 的引导装载程序。使用 GRUB2 时,启动加载器在分区表和带有 MBR(主引导记录)风格的分区表的 BIOS 机器上的第一个分区中安装。带有 GPT(GUID 分区表)样式的分区表的 BIOS 机器必须为引导装载程序创建特殊的 BIOS 引导分区。UEFI 机器将继续在 EFI 系统分区安装引导装载程序。
对于新的引导装载程序,推荐的最小分区大小也会改变。表 2.1 “推荐的最小分区大小” 提供新建议的摘要。如需更多信息,请参阅 MBR 和 GPT 注意事项。
分区 | BIOS 和 MBR | BIOS 和 GPT | UEFI 和 GPT |
---|---|---|---|
| 500 MB |
| 10 GB |
swap | 至少 RAM 的两倍。详情请查看 推荐 的分区方案。 | 引导装载程序 | 不适用(在分区表和第一个分区间安装) |
用户可以使用 force
选项手动将 GRUB2 安装到格式化的分区中,从而造成文件系统损坏的风险,也可以使用其它引导装载程序。有关替代引导装载程序的列表,请参阅 安装指南。
如果您有一个双引导系统,使用 GRUB2 的操作系统检测来自动写入可引导操作系统的配置文件:
# grub2-mkconfig -o /boot/grub2/grub.cfg
请注意,如果您有一个基于使用 UEFI 的双引导系统,则会使用与传统的 MBR 所基于的不同的其他机制。这意味着,您不需要使用特定于 EFI 的 grub2 命令:
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
2.2.1.1. 用于调试的默认引导条目
systemd 的默认引导条目已添加到 /etc/grub.cfg
文件中。现在,不再需要手动启用调试。默认引导条目允许您在引导时在不影响选项的情况下调试系统。
2.2.2. 新的 Init 系统
Systemd 是系统和服务管理程序,它替换在以前的 Red Hat Enterprise Linux 版本中使用的 SysV init。
systemd 是在引导过程中启动的第一个进程,在关闭时终止的最后一个过程。它协调引导过程的剩余部分并为用户配置系统。在 systemd 下,相互依赖的程序可以并行加载,从而加快了引导过程的速度。
在用户体验和脚本 API 方面,Systemd 与 SysV 基本兼容。然而,有一些例外情况存在。详情请查看 第 2.2.2.1 节 “后向兼容性”。
移动到 systemd 还涉及更改 Red Hat Enterprise Linux 的管理工具。详情请查看 systemctl man page 或 System Administrator 的指南。
有关引导过程的详情,请查看 安装指南。有关 systemd 的详情,请查看 系统管理员指南。
2.2.2.1. 后向兼容性
在用户体验和脚本 API 方面,Systemd 与 SysV 基本兼容。然而,在有些情况下兼容性会有一些限制。
-
标准
/etc/init.d/servicename
命令(启动
、停止
、状态
)仍然可以工作。但是,红帽建议/usr/sbin/service servicename
命令,因为它们直接转发到systemd
,而不是使用旧的初始化脚本。 -
运行级别支持有限。所有 SysV 运行级别都映射到 systemd 目标(target),但不是所有的 systemd 目标都映射到 SysV 运行级别。因此,对当前运行级别进行的一些检查将返回
N
(未知运行级别)。红帽建议避免运行级别检查,而是推荐使用 systemd 目标。 -
旧的运行级别 2、3 和 4 都默认映射到
multi-user.target
systemd 目标。用户可以通过配置不同的 systemd 目标来修改此行为。 - 服务会以“干净”的形式执行,且不会继承调用用户的任何上下文。依赖于继承上下文的初始化脚本将无法正常工作。
-
systemd 不支持 init 脚本中的附加操作动词。如果您需要
启动
、停止
或status
以外的操作动词,请将其移动到辅助脚本。 - 现在 systemd 在运行时会完全解析并使用 Linux Standard Base 标头信息。
- 现在,所有初始化脚本操作都会有 5 分钟的超时时间,以防止因为 init 脚步出现挂起情况而导致系统停机。
- systemd 只停止正在运行的服务 ; 没有启动的服务也不会在关闭过程中停止。
-
chkconfig 工具只显示 SysV 服务和运行级别信息,并可能会输出误导信息。红帽建议使用
systemctl
命令替代它。 -
在启用
CPUAccounting
选项时,SysV 服务(即使具有 root 权限的服务)也无法获得实时调度。为任何服务启用CPUAccounting
后,systemd 会在全局范围内使用 CGroup CPU 带宽控制器,后续的sched_setscheduler()
系统调用会因为实时调度优先级意外终止。要避免出现这个错误,可以使用 service 为实时 CPU.rt_runtime_us 选项设置 CGroupcpu.rt_runtime_us
选项。 服务无法从标准输入(stdin)读取。如果您需要交互式脚本,请考虑 systemd 支持的最小密码查询框架。有关这个功能的更多信息,请参阅 man page:
$ man systemd-ask-password
-
以前的 Red Hat Enterprise Linux 版本包括一个特定于 System z 的预安装脚本(
linuxrc.s390
),它在引导时启动 System z 系统。新的 init 系统已过时了这个安装脚本,System z 系统现在以与 AMD64、Intel 64 和 Power 系统相同的方式引导。
2.2.2.2. systemd-debug-generator
systemd-debug-generator 是一个生成器,用于启用一个运行时的 debug shell,并在引导时屏蔽(mask)特定单元。它读取内核命令行并接受以下三个选项:
systemd.mask=
- 如果指定了这个选项,并跟一个单元名称,则会在运行时屏蔽这个单元。为了调试系统的启动,在引导时可以从初始引导事务中的删除特定单元是非常有用的。这个选项可以多次指定。
systemd.wants=
- 如果指定了这个选项,并跟一个单元名称,则会在初始事务中为这个单元添加一个启动作业。如果您需要在引导时启动一个或多个额外的单元,这个选项非常有用。这个选项可以多次指定。
systemd.debug_shell
-
如果指定了这个选项,则
debug-shell.service
会拉取到引导事务中。它将在早期系统启动过程中在 tty9 上生成一个调试 shell。请注意,shell 也可以使用systemctl enable
命令永久打开。
2.2.2.3. 新的安装程序
为了改进 Red Hat Enterprise Linux 7 的安装过程,Red Hat Enterprise Linux 安装程序 Anaconda 已被重新设计并增强。
更新的安装程序特性:
- 重新设计的图形用户界面,它更快、更灵活,减少了对用户输入的需要。
- 支持 LVM 精简置备。
- btrfs 的安装支持。(请注意,在 Red Hat Enterprise Linux 7 中,btrfs 只是一个技术预览。)
- 改进了本地化支持。
- 支持直接格式化的设备,而非分区的设备。
- 支持合作和绑定网络技术。
- 支持自动选择适当的键盘布局、语言和时区。(这需要互联网连接。)这些基于自动检测的值都会可以被手动设置的值覆盖。
- 现在,会自动使用由 DHCP 公告的 NTP 服务器。
-
realmd
D-Bus 服务、Active Directory 和 FreeIPA 的 Kickstart 集成。 - 一个新的文本模式,适用于 IBM System z 和 PowerPC 系统,以及串口控制台。文本模式提供了图形安装程序提供的功能的一个子集。
这个新安装程序也有一些重要的更改。
- 在以前的版本中,存储配置要求用户对存储系统进行详细技术知识。在 Red Hat Enterprise Linux 7 中,存储配置已被重新设计,用户只需要输入较少的信息来配置存储。
-
Anaconda 现在使用
inst.repo
参数设置网络和其它安装位置,而不是使用inst.root
参数。 -
图形化安装程序界面中的详细软件包选择已被
Software Selection
屏幕替代。软件被分成多个环境,并且是
中。用户可以选择一个环境,以及任意数量的附加组件。Kickstart 安装将继续完全控制安装时选择的软件包。Addons
有关这些功能的详情,请参考 安装指南。
2.2.2.4. 引导参数的变化
2.2.2.4.1. 指定引导参数
特定于安装程序的引导选项使用前缀 inst。
在本指南中。目前,这个前缀在 Red Hat Enterprise Linux 7 中是可选的: resolution=1024x768
与 inst.resolution=1024x768
完全相同。但是,在以后的发行版本中这个前缀预期会成为是必需的,没有这个前缀的参数将被视为弃用。
2.2.2.4.2. 引导参数的变化
新的安装程序使用 dracut 配置磁盘和网络。因此,一些内核命令行引导参数在 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 之间有所变化。
新参数
- inst.stage2
-
指定要载入的安装程序运行时镜像的位置。其语法与
inst.repo
参数的语法相同。这个选项会忽略除镜像外的所有内容。它不能被用来指定软件包的位置。
- inst.dd
-
使用指定位置中的软件包更新驱动程序软件包。这个选项可多次使用。位置语法与
inst.repo
参数的位置语法相同。
- inst.geoloc
在安装程序中配置地理位置,以预设置语言和时区。默认值为
provider_fedora_geoip
。此参数的有效值包括以下内容。表 2.2. 地理位置值 值 效果 0
禁用地理位置。
provider_fedora_geoip
使用 Fedora GeoIP API。
provider_hostip
使用 Hostip.info GeoIP API。
- inst.usefbx
-
指定应使用帧缓冲 X 驱动程序而不是硬件特定驱动程序。这个选项等同于
inst.xdriver=fbdev
。
- bootdev
-
指定引导接口。如果多次指定
ip
,则这个选项是必须的。
- inst.multilib
- 为 multilib 软件包配置系统,例如允许在 64 位系统中安装 32 位软件包。
- gpt
- 将分区信息安装到 GUID 分区表(GPT)而不是主引导记录(MBR)。
- inst.virtiolog
-
指定用于转发日志的 virtio 端口。默认值为
org.fedoraproject.anaconda.log.0
。如果存在这个端口,则会使用它。
- rd.dasd
-
使用一个 Direct Access Storage Device(DASD)适配器设备总线标识符,并可选择使用逗号分开的
sysfs
参数和值对。激活带有指定设备总线 ID 的 DASD,并将上述sysfs
参数设置为指定的值。例如:rd.dasd=adaptor_id,readonly=0
。可多次指定这个参数激活多个 DASD。
- rd.zfcp
使用 SCSI over FCP(zFCP)adaptor 设备总线标识符、世界范围内的端口名称(WWPN)和 FCP LUN。激活带有指定设备总线标识符、端口名称和 LUN 的 zFCP 设备。可多次指定这个参数激活多个 zFCP 设备。
rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000
- rd.znet
采用网络协议类型、以逗号分隔的子通道列表,并可选择使用逗号分开的
sysfs
参数和值对。激活指定协议的 System z 网络设备驱动程序,设置指定的子频道,并设置指定的参数。可多次指定这个参数激活多个网络设备。rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo rd.znet=ctc,0.0.0600,0.0.0601,protocol=bar
更改的参数
- inst.ks.sendmac
-
之前
kssendmac
.为外向的 HTTP 请求添加标头,包括所有网络接口的 MAC 地址。这在使用inst.ks=http
置备系统时非常有用。
- name server
-
之前
dns
。指定名称服务器的地址。这个选项可多次使用。
弃用的参数
此列表中的选项已弃用。它们仍可正常工作,但存在其它选项可以提供相同的功能。不建议使用弃用的选项,它们将会在以后的版本中被删除。
- updates
-
指定安装程序的更新位置。使用
inst.updates
选项。
- method
-
配置的安装方法。使用
inst.repo=
选项替代。
- repo
-
在 NFS 安装中,指定目标是一个位于 NFS 服务器中的 ISO 镜像,而不是一个可安装的树。现在会自动探测到不同不同,使这个选项与
inst.repo=nfs:server:/path
相同。
- dns
-
配置域名服务器(DNS)。改为使用
nameserver=
选项。
- netmask, gateway, hostname, ip, ipv6
-
这些选项已合并到
ip
选项下。
- ip=bootif
-
指定从 PXE 服务器安装时使用的
BOOTIF
选项。现在会自动探测。
- ksdevice
配置的在 Kickstart 安装过程中使用的网络设备。如下表所示,这个参数的不同值已被替换为不同的参数。
表 2.3. Kickstart 参数值 值 当前行为 不存在
尝试激活所有使用 DHCP 的设备,除非使用
ip
或BOOTIF
选项指定了设备和配置。ksdevice=link
忽略(这与默认行为相同)。
ksdevice=bootif
忽略(如果指定,则使用
BOOTIF
)。ksdevice=ibft
使用 dracut 选项
ip=ibft
替换。ksdevice=MAC
使用
BOOTIF=MAC
替换。ksdevice=device
使用 dracut
ip
选项中的设备规格替换。
- blacklist
用于禁用指定的驱动程序。现在,它由
rd.driver.blacklist
dracut 选项处理,语法如下:rd.driver.blacklist=mod1,mod2,...
- nofirewire
禁用了对 FireWire 接口的支持。您可以使用
rd.driver.blacklist
选项禁用 FireWire 驱动程序(firewire_ohci
):rd.driver.blacklist=firewire_ohci
删除的参数
删除了以下选项。存在于之前的 Red Hat Enterprise Linux 版本中,但现在无法再使用它们。
- serial
-
这个选项强制 Anaconda 使用
/dev/ttyS0
控制台作为输出。使用console
参数指定/dev/ttyS0
控制台(或类似控制台)。
- essid, wepkey, wpakey
- 配置的无线网络访问。网络配置现在由 dracut 处理,它不支持无线网络,从而使这些选项没有用。
- ethtool
-
过去用于配置其他低级网络设置。现在,所有网络设置都由
ip
选项处理。
- gdb
-
允许调试加载程序。使用
rd.debug
替代。
- inst.mediacheck
-
在开始安装前验证安装介质。使用
rd.live.check
选项替换。
- ks=floppy
- 指定一个 diskette 作为 Kickstart 文件源。floppy 驱动器不再是受支持的引导介质。
- display
-
配置的远程显示。使用
inst.vnc
选项替换。
- utf8
- 添加了在使用文本模式安装时对 UTF8 的支持。UTF8 支持现在可以自动正常工作。
- noipv6
-
在安装程序中禁用了 IPv6 支持。IPv6 现在内置在内核中,因此该驱动程序无法列入黑名单,但可以使用
ipv6.disable
dracut 选项禁用 IPv6。
- upgradeany
- Red Hat Enterprise Linux 7 中的升级变化。如需更多信息,请参阅 第 1 章 如何升级、第 3.1.1 节 “Preupgrade Assistant” 和 第 3.1.2 节 “Red Hat Upgrade Tool”。
- vlanid
-
配置 VLAN 设备。使用 dracut
vlan
选项替换。
2.2.3. 对首次启动实现的更改
在 Red Hat Enterprise Linux 7 中,firstboot 被替换为 Initial Setup 工具( initial-setup), 以便与新安装程序更好地互操作。基本的 firstboot 功能已移到安装程序和 initial-setup 中。
为 firstboot 编写的第三方模块在 Red Hat Enterprise Linux 7 中可以继续工作。但是,在以后的版本中,firstboot 将会被弃用。因此,第三方模块的维护者应考虑更新其模块以使用安装程序或 Initial Setup 工具。
2.2.4. 更改了引导时的挂载行为
早期版本的 Red Hat Enterprise Linux 会引导,无论 /etc/fstab
中指定的所有分区都可以挂载。这可能会出现系统显示为上线并处于健康状态,但引导时没有需要的分区。
要防止这种情况,在 Red Hat Enterprise Linux 7 中,如果 /etc/fstab
中定义的分区无法在引导时挂载,引导会失败。如果分区在无法挂载时不应该导致引导失败,请在 /etc/fstab
中使用新的 nofail
参数。
/dev/critical /critical xfs defaults 1 2 /dev/optional /optional xfs defaults,nofail 1 2
在这个示例中,挂载到 /optional
的设备如果无法成功挂载,则不会导致引导失败。
2.2.5. 对 /etc/issue 文件的更改
在之前的 Red Hat Enterprise Linux 版本中,/etc/issue
文件包含产品名称和机器的发行号。从 Red Hat Enterprise Linux 7 开始,产品名称和发行号已移到 /etc/os-release
文件中,/etc/issue
的第一行现在包含一个 agetty 转义代码 \S
。\S
转义代码在显示产品名称和机器的发行号的控制台中展开。代码由 PRETTY_NAME
变量表示,该变量在 /etc/os-release
文件中定义。
\S
转义代码的扩展仅适用于控制台。在不支持的环境中使用扩展时,将只打印"\S"。
有关 \S
的详情请参考 agetty man page。
2.3. 文件系统布局
Red Hat Enterprise Linux 7 对文件系统的布局进行了两个主要更改。
-
/bin
、/sbin
、/lib
和/lib64
目录现在位于/usr
目录中。 -
/tmp
目录现在可以用作临时文件存储系统(tmpfs
)。 -
/run
目录现在用作临时文件存储系统(tmpfs
)。应用程序现在可以使用/run
与使用/var/run
目录相同的方式。
2.3.1. root 文件系统的新布局
通常,/bin
和 /lib
目录中仅包括最小的必要的内容,以避免减慢引导过程的速度。有些实用程序需要位于根(/
)级别才能挂载 /usr
分区。这样一来,其他实用程序会将其内容分散到多个目录级别,例如在 /bin
和 /usr/bin
中。
Red Hat Enterprise Linux 7 将 /bin
、/sbin
、/lib
和 /lib64
目录移动到 /usr
中。因为 /usr
文件系统现在可以由 initramfs
而不是由 root 级别目录中的实用程序挂载,所以不再需要在两个不同的目录级别间分割软件包内容。这可实现更小的根文件系统,启用可以更有效地共享磁盘空间的系统,以及更容易维护、更灵活和更安全的系统。
要减少这个更改的影响,以前的 /bin
目录现在是 /usr/bin
的符号链接,/sbin
到 /usr/sbin
,以此类推。
2.3.1.1. 为升级准备文件系统
请注意,如果 /usr
位于独立分区,则无法进行原位升级。如果您决定将 /usr
从独立分区中移出,请注意这是您自己的风险。
如果 /var
位于独立分区中,则必须手动将 /var/run
和 /var/lock
转换为符号链接:
# mv -f /var/run /var/run.runmove~ # ln -sfn ../run /var/run # mv -f /var/lock /var/lock.lockmove~ # ln -sfn ../run/lock /var/lock
您必须确保解决有关分区方案的所有 preupgrade-assistant 结果。
完成准备后,请参阅 安装指南 以了解执行升级过程的更多详情。
2.3.1.2. 验证升级是否成功
执行升级过程后,务必要验证升级是否按预期工作。
检查是否存在以下符号链接:
-
/bin
是/usr/bin
的符号链接 -
/sbin
是/usr/sbin
的符号链接 -
/lib
是/usr/lib
的符号链接 -
/lib64
是/usr/lib64
的符号链接 -
/var/run
是/run
的符号链接 /var/lock
是/run/lock
的符号链接如果列出的目录是符号链接的,则需要两个额外的检查。
-
检查以下 find 命令的输出结果:
# find /usr/{lib,lib64,bin,sbin} -name '.usrmove'
响应此命令时显示的文件或目录无法复制到
/usr
,因为/usr
中已存在具有相同名称的文件和目录。您需要手动解决这些命名冲突。检查以下要保留的文件的目录:
-
/var/run.runmove~
-
/var/lock.lockmove~
-
如果列出的任何目录不是符号链接,则需要遵循 第 2.3.1.3 节 “从失败的升级中恢复” 中介绍的恢复过程。
2.3.1.3. 从失败的升级中恢复
升级过程可能会因为多个原因失败。检查以下命令的输出结果以查看出错信息:
# dmesg # journalctl -ab --full
如果没有错误信息,请检查:
-
/
为可写 -
/usr
是可写 -
/
有足够的空间 -
/usr
有足够的空间 -
/var
在 rhelup 工具中挂载
如果您需要进一步帮助,请联系红帽支持团队。
2.3.2. /tmp 目录的更改
Red Hat Enterprise Linux 7 提供了将 /tmp
用作临时文件存储系统的挂载点(tmpfs
)的功能。
启用后,这个临时存储显示为挂载的文件系统,但将其内容存储在易失性内存中,而不是存储在持久性存储设备中。/tmp
中的文件不会存储在硬盘上,但当内存较低时,将使用交换空间。这意味着 /tmp
的内容在重启后不会被保留。
要启用此功能,请执行以下命令:
# systemctl enable tmp.mount
要禁用这个功能,请执行以下命令:
# systemctl disable tmp.mount
红帽建议在 Red Hat Enterprise Linux 7 中为各种临时存储空间使用。
-
特权进程(如守护进程)应使用
/run/processname
来存储临时数据。 -
存储大量数据或需要临时数据在重新引导后持久保留的进程应使用
/var/tmp
。 -
所有其他进程都应该使用
/tmp
来存储临时数据。
2.3.3. /run 目录的变化
在 Red Hat Enterprise Linux 7.0 的初始发行版本中,Preupgrade Assistant 还没有检查这些变化的影响。RHBA-2014:1627 解决了这个问题,https://rhn.redhat.com/errata/RHBA-2014-1627.html。
以前的 Red Hat Enterprise Linux 版本允许一些程序在早期引导时将运行时数据存储在 /dev
目录中,然后再挂载 /var
目录。在主要的 Linux 发行版之间认为 /run
应该被使用,因为 /dev
目录应该只用于设备节点。
因此,在 Red Hat Enterprise Linux 7 中,/run
目录是一个临时文件存储系统(tmpfs
),它绑定挂载 /var/run
目录。同样,/run/lock
目录现在绑定挂载 /var/lock
目录。存储在 /run
和 /run/lock
中的文件不再是持久性,重启后不会保留。这意味着,应用程序必须在启动时重新创建自己的文件和目录,而不是在安装时重新创建这些文件和目录。一个 /etc/app_name
目录是理想的选择。
有关如何在启动时重新创建文件和目录的详情,请查看 tmpfiles.d
man page: man tmpfiles.d
。有关配置示例,请查看 /etc/tmpfiles.d
中的配置文件。
2.4. 系统管理
本部分介绍了在 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 之间对系统管理工具和流程所做的更改。
2.4.1. 默认进程最大值(ulimit)
在 Red Hat Enterprise Linux 6 中,非 root 用户对于每个 PAM 会话限制为总计 1024 个进程。在 Red Hat Enterprise Linux 7 中,这个数量被默认增加到每个 PAM 会话限制为总计 4096 个进程。
默认值在 Red Hat Enterprise Linux 7 上的 /etc/security/limits.d/*-nproc.conf
文件中指定(通常为 /etc/security/limits.d/20-nproc.conf
)。如果没有此文件,非 root 用户可以拥有的最大进程数是通过编程方式确定的,如 什么中所述决定了 Red Hat Enterprise Linux 上的 nproc(ulimit -u)的默认值?
您可以通过运行 ulimit -u
命令,查找每个 PAM 会话非 root 用户当前可用的进程数。
2.4.2. 配置文件同步
在 Red Hat Enterprise Linux 6 中,export
命令在配置文件中用于导出这些文件中定义的值。未使用 export
命令的变量没有导出,且只用作对应初始化脚本的配置值。这是 /etc/sysconfig/sshd
文件示例:
AUTOCREATE_SERVER_KEYS=YES export SSH_USE_STRONG_RNG=1 export OPENSSL_DISABLE_AES_NI=1
在 Red Hat Enterprise Linux 6 中,只有 SSH_USE_STRONG_RNG
和 OPENSSL_DISABLE_AES_NISABLE_AES_NI
的值被导出到 ssh 守护进程的环境。变量 AUTOCREATE_SERVER_KEYS
用于告知初始化脚本自动创建 RSA 和 DSA 服务器私钥和公钥。
在 Red Hat Enterprise Linux 7 中,不再需要 export
命令将这些值导出到要配置的服务的环境中。因此,以下示例 /etc/sysconfig/sshd
文件会将所有三个值导出到 ssh 守护进程的环境:
AUTOCREATE_SERVER_KEYS=YES SSH_USE_STRONG_RNG=1 OPENSSL_DISABLE_AES_NI=1
2.4.3. 新的日志记录框架
Red Hat Enterprise Linux 7 引入了一个新的日志记录守护进程 journald
,作为迁移到 systemd
的一部分。journald
捕获所有服务的以下类型信息:
-
syslog
信息 - 内核信息
- 初始 RAM 磁盘和早期引导信息
- 发送到标准输出和标准错误输出的消息
然后,它会将这些消息存储在原生日志文件中:结构化的索引的二进制文件,其中包含有用的元数据,而且可以更快地搜索。
默认情况下,日志文件不会持久存储。记录的数据量取决于可用内存量 ; 当系统内存或 /run/log/journal
目录中空间不足时,会删除最旧的日志文件以继续记录。
在 Red Hat Enterprise Linux 7 中,rsyslog
和 journald
可以共存。journald
收集的数据转发到 rsyslog
,它可以执行进一步处理和存储基于文本的日志文件。默认情况下,rsyslog
只存储着 syslog
消息的典型日志字段,但可以配置为存储所有可用于 journald
的字段。因此,Red Hat Enterprise Linux 7 与依赖 rsyslog
的应用程序和系统配置保持兼容。
有关日志记录子系统的详情,请查看 系统管理员指南。
2.4.4. 本地化设置
作为迁移到新 init 系统的一部分,本地化设置已从 /etc/sysconfig/i18n
移到 /etc/locale.conf
和 /etc/vconsole.conf
。
2.4.5. 主机名定义
在 Red Hat Enterprise Linux 6 中,hostname
变量在 /etc/sysconfig/network
配置文件中定义。在 Red Hat Enterprise Linux 7 中,作为迁移到新 init 系统(systemd
)的一部分,主机名
变量在 /etc/hostname
中定义。
2.4.6. Yum 的更新
Red Hat Enterprise Linux 7 包括了 yum 的更新版本,其中包括很多更改和功能增强。这部分列出了可能会影响从 Red Hat Enterprise Linux 6 迁移到 Red Hat Enterprise Linux 7 的 yum 用户的更改。
-
yum group
和yum 组
现在是顶层命令,以提高命令行 yum 使用的一致性。例如,在之前使用yum groupinfo
的位置,您现在可以使用yum group info
。 -
yum group list
现在包含其他可选参数来更改其输出。新选项为语言和
ids
。 -
/etc/yum.conf
中的group_command
参数的默认值已从compat
更改为对象
。在以前的版本中,yum group install
的默认行为是安装软件包组的所有成员,并在以前的升级前升级之前安装的软件包和软件包。新的默认行为是 yum 会跟踪之前安装的组,并区分作为组的一部分安装的软件包和单独安装的软件包。 -
yum-security
和yum-presto
插件已集成到 yum 中。 - yum 现在可以同时下载多个软件包。
- yum 现在包括对环境组的支持。这可让您作为单一实体安装和删除在环境组中列出的多个软件包组。
-
yum 现在可以将存储库视为一组软件包,允许用户将存储库中的所有软件包视为单个实体,例如,安装或删除该存储库中的所有软件包。这个功能由
repository-packages
子命令提供。 -
yum 现在包含一个
--disableincludes
选项,它允许您禁用配置文件中定义的include
语句。您可以禁用所有包含
语句及所有
值,或者通过提供该存储库标识符来禁用为特定存储库定义的include
语句。 -
yum 现在包含一个
--assumeno
选项,它假定 yum 提出问题的答案为"no"。这个选项会覆盖--assumeyes
选项,但仍然会受alwaysprompt
规定的行为。
有关 yum 的详情,请查看 man page:
$ man yum
2.4.7. RPM Package Manager(RPM)的更新
Red Hat Enterprise Linux 7 提供 RPM Package Manager 的更新版本。这个版本包括对可能会影响迁移行为的很多更改。
- 现在,冲突检测更为严格且更为正确。因为存在冲突问题,在 Red Hat Enterprise Linux 6 中安装的一些软件包可能无法在 Red Hat Enterprise Linux 7 中安装。
- 现在,可以使用 alternatives 将与其他版本本身冲突的软件包设置为单例,以便单个软件包的多个版本可以相互一起安装。
- 如果安装的软件包列出另一个软件包已过时,则不会安装第二个软件包。
- 过时的规则现在包括所有匹配的软件包,无论其他属性是什么,比如架构。
-
依赖项计算不再考虑没有安装的文件或被替换的文件,如
--nodocs
、--noconfig
或--force
选项。 -
重建一个崩溃(
DB
_RUNRECOVER
)RPM Package Manager 数据库时,不再需要手动执行 rm -f /var/lib/rpm/_db. - 不再支持通过 OpenPGP 3 创建的公钥。
-
现在,-
info
选项会每行输出单独的标签值对,以提高人类可读性。任何依赖前--info
格式的脚本都需要被重写。 - 现在,spec 解析程序更为严格且更为准确,因此一些之前被接受的 spec 文件可能无法解析或会出现警告。
-
%license
现在可以用来将 spec 文件中的%files
部分中的文件标记为许可证,即使指定了--nodocs
。 -
版本比较现在支持 dpkg 风格的波形符(
~
)运算符以更好地处理预发布软件。例如:foo-2.0~beta1
被视为比foo-2.0
旧,删除 Release 项处理这些常见上游版本实践的需要。 - 自动依赖项生成器已重写为可扩展、基于可定制规则的系统,并带有过滤中的内置功能。
这个版本还包括以下改进:
-
现在,可以从软件包(
INSTFILENAMES
)中查询安装的文件、指向文件的硬链接的数量(FILENLINKS
)、软件包版本控制系统详细信息(VCS
)和已格式化的依赖关系字符串快捷键(PROVIDENEVRS
)、REQUIRENEVRS
、CONFLICTNEVRS、CONFLICTNEVRS
、OBSOVEVRS
。 提供了很多新命令,其中包括:
-
rpmkeys
-
rpmdb
-
rpmspec
-
rpmsign
-
- RPM Package Manager 现在包含多个新的参数用于脚本,以启用运行时的宏扩展或者运行时查询格式扩展。
-
现在,预处理和 post-transaction scriptlet 依赖项可以使用
Requires(pretrans)
和Requires(posttrans)
正确表达。 -
RPM Package Manager 现在包含
OrderWithRequires
标签,允许用户提供额外的排序信息。这个新标签的语法与 Requires 标签相同,但不会生成依赖项。如果同一事务中提到的软件包,则在计算事务顺序时,排序提示被视作Requires
。 - spec 文件中的行继续和宏扩展不再仅限于指定长度。
- RPM Package Manager 现在允许用户指定上游版本控制存储库信息。
-
RPM Package Manager 现在包含一个
%autosetup
宏,以帮助自动化应用补丁的过程。
2.4.8. ifconfig 的新格式
在 Red Hat Enterprise Linux 7 中,已弃用的 ifconfig 工具的输出格式已改变。解析 ifconfig 输出的脚本可能会受到这些更改的影响,可能需要重写。
红帽建议使用 ip 实用程序及其子命令(ip addr
,ip link
),而不是已弃用的 ifconfig 工具。
2.4.9. 控制组群更改
内核使用控制组群来对进程进行分组以进行系统资源管理。Red Hat Enterprise Linux 7 对控制组群引进了大量更改。
-
控制组现在挂载到
/sys/fs/cgroup
而不是/cgroup
。 - 现在默认挂载一些文件系统。
-
systemd
尚不支持从libcgroup
迁移到systemd
。因此,应该只使用cgred
服务将进程移到不由systemd
管理的组。cgconfig.conf
文件应该用于为不是由systemd
管理的文件系统或文件控制器配置控制组层次结构。
有关这些更改的详情,请查看 资源管理指南。
2.4.10. 对 Kernel Crash Collection 的更改(Kdump)
内核崩溃收集工具( kdump )以前使用自定义 mkdumprd
脚本为 kdump 捕获内核生成初始 RAMDisk(initrd
)。在 Red Hat Enterprise Linux 7 中,初始 RAMDisk 使用 dracut 生成,使生成初始 RAMDisk 的过程更易于维护。
因此,在 kdump 及其配置文件中进行了以下更改。
-
net
指令不再被支持。用户现在必须明确定义ssh
或nfs
。 -
不再支持
黑名单
选项。相反,用户可以将rd.driver.blacklist
指定为捕获内核的/etc/sysconfig/kdump
文件中的参数。 -
默认的
mount_root_run_init
操作(在转储到预期的目标失败时)已被dump_to_rootfs
操作替代。这个新操作会挂载根文件系统,而不是挂载真实根文件系统,而是运行初始化脚本,并在kdump
服务启动时尝试保存 vmcore。这个新操作会挂载 root 文件系统并将 vmcore 保存到其中。 -
新的指令
dracut_args
允许您在配置 kdump 时指定额外的 dracut 参数。 -
kdump 不再包含
debug_mem_level
选项。这个功能已移至 dracut。用户可以通过在其捕获内核的/etc/sysconfig/kump
文件中指定rd.memdebug
作为参数来实现相同的功能。 -
options
指令之前被用来在初始 RAM 文件系统(initramfs
)中包含与内核模块相关的参数。Red Hat Enterprise Linux 7 不支持这个方法。用户可以在捕获内核的/etc/sysconfig/kdump
文件中指定相关参数。 -
link_delay
和disk_timeout
参数不再是必需的或支持,因为 dracut 包含udev
,它解决了之前需要这些参数的用例。 -
在启动 kdump 服务并创建初始 RAMDdisk 镜像前,所有文件系统后端转储目标都必须挂载到崩溃的内核中。您可以将这些目标添加到
/etc/fstab
,以便在引导时自动挂载这些目标。 - 如果您指定路径但没有指定目标,并且您指定的路径中的任何目录都是单独设备的挂载点,则 vmcore 将保存到路径中,而不是与该路径挂载的设备。因此,当您的系统重启以及设备挂载时,vmcore 无法访问,因为该设备已经挂载到其位置的顶部。现在,当您指定路径而不指定目标时,Red Hat Enterprise Linux 7 会警告此问题。
有关 kdump 的详情,请查看 内核管理指南。
2.4.11. usermod 行为的更改
在 Red Hat Enterprise Linux 6 中,usermod
命令的 -g
选项没有操作组所有权。从 Red Hat Enterprise Linux 7.0 到 Red Hat Enterprise Linux 7.2,-g
选项修改了 /home
目录树中的文件的组所有权。从 Red Hat Enterprise Linux 7.3 开始,只有主目录用户 ID 与要修改的用户 ID 匹配时,usermod
才会更改用户主目录内的文件的组所有权。
2.4.12. 系统帐户的更改
Red Hat Enterprise Linux 7 发行版本中更改了系统用户的默认 ID 范围,如下所示:
范围 | Red Hat Enterprise Linux 6 | Red Hat Enterprise Linux 7 |
---|---|---|
系统帐户 | 0-499 | 0-999 |
用户帐户 | 500-60,000 | 1,000-60,000 |
因为这个变化,当迁移到 Red Hat Enterprise Linux 7 时,如果有用户的 UID 和 GID 在 500 到 999 之间,则可能会造成问题。可在 /etc/login.defs
文件中手动更改默认的 UID 和 GID 范围。
2.4.13. 对 hwclock 的更改行为
在 Red Hat Enterprise Linux 6 中,用于访问硬件时钟的 hwclock
命令在每次系统关闭或重启时自动运行。该行为与 Red Hat Enterprise Linux 7 进行了改变。现在,当 网络时间协议(
(NTP
)或 Precision Time Protocol
PTP
)同步系统时钟时,内核每 11 分钟会自动将硬件时钟同步到系统时钟。
有关配置 NTP
、PTP
和设置硬件时钟的详情,请查看 系统管理员指南。
2.5. 文件系统格式
本部分提供了在 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 间对文件系统格式支持的更改概述。
2.5.1. 新默认文件系统: XFS
XFS 是一个高性能,可扩展的文件系统,它通常会在负载要求高的应用程序中使用。在 Red Hat Enterprise Linux 7 中,XFS 是默认的文件系统,在所有构架中都受支持。
ext4(无法扩展到 XFS 相同的大小)在所有构架中仍被完全支持,并将继续会有活跃的开发和支持。
红帽对 XFS 的支持限制详情,请参考 https://access.redhat.com/site/articles/rhel-limits。
有关使用和管理 XFS 文件系统的详情,请查看 存储管理指南。
2.5.1.1. 对挂载选项的更改
与 ext3 和 ext4 不同,XFS 文件系统默认启用 user_xattr
和 acl
挂载选项。这意味着,如果您在命令行或 /etc/fstab
中包含这些选项,您将遇到类似如下的错误。
$ mount -o acl /dev/loop0 test mount: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so.
Ext3 和 ext4 文件系统默认不启用这些属性,在使用 mount
命令或通过 /etc/fstab
挂载这些选项时接受这些选项。
2.5.2. btrfs 技术预览
Red Hat Enterprise Linux 7 引进 btrfs 作为技术预览。btrfs 是下一代 Linux 文件系统,它提供了高级管理功能,具有可靠性和可扩展性功能。btrfs 提供文件和元数据的 checksum 验证。它还提供了快照和压缩功能,以及集成的设备管理。
有关 btrfs 红帽支持限制的详情,请参考 https://access.redhat.com/site/articles/rhel-limits。有关技术预览功能支持级别的更多信息,请参阅 https://access.redhat.com/site/support/offerings/techpreview/。
有关使用和管理 btrfs 的详情,请查看 存储管理指南。
2.5.2.1. Kickstart btrfs
在 kickstart 文件中,要在系统上创建分区,通常使用带有 --fstype
的 part
命令创建使用特定文件系统的分区,如下所示:
part /mnt/example --fstype=xfs
但是,在 Red Hat Enterprise Linux 7.0 和 7.1 中,btrfs 被视为设备类型要多于文件系统类型。因此,btrfs
并不是 --fstype
参数的有效值。反之,使用 btrfs
命令定义 btrfs 卷,如下所示:
btrfs mount_point --data=level --metadata=level --label=label partitions
2.5.3. 扩展的文件系统支持
Red Hat Enterprise Linux 7 引进了一个统一的扩展文件系统驱动程序,它支持 Ext2、Ext3 和 Ext4。
但是,Ext2 在 Red Hat Enterprise Linux 7 中被视为已弃用,并应该尽可能避免使用。
有关这些文件系统的详情,请查看 存储管理指南。
2.6. 物理存储
本部分包括了在 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 间支持物理存储和相关配置工具的更改。
2.6.1. 更改了引导时的挂载行为
如果将存储设备配置为在引导时挂载,且无法找到该设备,或者无法正确挂载,Red Hat Enterprise Linux 7 将无法引导。这个更改是有意进行的,它可以防止在缺少了重要存储设备的情况下系统引导。对于早期版本的 Red Hat Enterprise Linux,无论是否正确找到或挂载了在引导时需要挂载的所有存储设备,系统都会被引导。
如果设备不应该阻止系统引导,您可以使用 nofail
选项进行标记,如下所示。
/dev/essential-disk /essential xfs auto,defaults 0 0 /dev/non-essential-disk /non-essential xfs auto,defaults,nofail 0 0
2.6.2. 使用 LVM 快照作为回滚机制
不建议使用 LVM 快照作为主要回滚方法。在升级过程中,整个系统(用户文件除外)会被覆盖。因此,系统快照的大小与原始数据集的大小基本相同。
另外,与典型的备份过程相比,快照更容易出错,因为它们不包含 /boot
分区。
当从 Red Hat Enterprise Linux 6 升级到 Red Hat Enterprise Linux 7 时,红帽建议使用完整备份,并使用备份作为主要回滚方法。LVM 快照应该只用作二级回滚方法。
从 Red Hat Enterprise Linux 6.3 开始,用户可以在逻辑卷上保留空间,以用作快照的存储空间。然后,当升级或迁移失败时,系统就可以回滚到快照。
如果要使用 LVM 快照作为二级回滚方法,可能需要添加空间以允许完成快照的空间。要添加更多空间,您可以执行以下操作:
- 添加另一个磁盘。《 存储管理指南》 中提供了说明。
- 使用 parted 检查没有分配给现有分区的空闲空间。
- 使用 lsblk 检查空白分区,或者可以删除以释放更多空间的分区。
- 使用 vgdisplay 检查没有分配给逻辑卷的卷组中可用空间。
- 使用 df 检查有空闲空间并可缩小的文件系统,以便其逻辑卷或分区可以被缩小以释放更多可用空间。
请注意,使用 LVM 快照进行回滚的潜在限制:
- 快照大小不会被自动调整。如果您的快照对于它的分区来讲太大,则可能会变得无效,且回滚将失败。因此,在创建该快照前,必须为整个系统的快照分配足够大的空间。如果您需要重新定义根快照大小,则需要一个额外的设备,比如 Live CD,可在卸载和重新定义原始根设备时用作 root 设备。
- 快照的 copy-on-write 设备不会被镜像,无论您的系统是否被镜像,它都会位于单一设备中。如果设备失败且您丢失了快照,则无法回滚。红帽建议您使用带有 mdraid 的物理卷或使用多个快照来分离磁盘。使用多个快照会较慢。
- 在安装过程中崩溃时,系统可能无法引导。在这种情况下,红帽建议使用 Live CD 或 PXE 进行引导,并在系统成功引导时合并您的快照。Red Hat Enterprise Linux 7 LVM 文档 提供了合并说明。
-
回滚会将
/var/log
返回到升级前的状态。为了进行审核,,红帽建议在启动回滚前,将日志文件从安装的系统复制到一个独立的位置。
2.6.3. 使用 targetcli 的目标管理
之前的 Red Hat Enterprise Linux 版本使用 tgtd 作为 iSCSI 目标的,LIO(Linux 内核目标)只用于通过 fcoe-target-utils 软件包的 Fibre-Channel over Ethernet(FCoE)目标。
Red Hat Enterprise Linux 7 现在将 LIO 内核目标子系统用于 FCoE、iSCSI、iSER(Mellanox InfiniBand)和 SRP(Mellanox InfiniBand)存储光纤。现在,所有 fabrics 都可通过 targetcli 工具进行管理。
2.6.4. 设备名称的持久性
Red Hat Enterprise Linux 7 在内核消息中存储设备名称(如 sda、sdb 等)和持久设备名称(由 udev
在 /dev/disk/by-*/
中提供)可更轻松地管理设备。这可让系统管理员识别与设备关联的信息,即使设备名称已在不同的引导中有所变化。
kernel /dev/kmsg
日志(可通过 dmesg
命令显示)现在显示符号链接的消息,其 udev
已针对内核设备创建。这些消息以以下格式显示: udev-alias: device_name (symbolic_link symbolic link …)
。例如:
udev-alias: sdb (disk/by-id/ata-QEMU_HARDDISK_QM00001)
任何日志分析器都可以显示这些消息,它们也会通过 syslog 保存在 /var/log/messages
中。
要启用此功能,请将 udev.alias=1
添加到 /etc/default/grub
中的内核命令行。
2.6.5. LVM 缓存卷
从 Red Hat Enterprise Linux 7.1 开始,完全支持 LVM 缓存卷功能。这个功能允许用户使用小的、快速的设备创建逻辑卷,作为一个大的、速度较慢的设备的缓存。有关创建缓存逻辑卷的详情,请查看 lvmcache
手册页。
2.7. 网络
本小节概述了 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 之间的网络、网络协议支持和相关配置工具的更改。
2.7.1. 推荐的命名实践
主机名可以是最多 64 个字符的、任何格式的字符串。但是,红帽建议静态名称和临时名称与 DNS 中用于机器的完全限定域名(FQDN)匹配,如 host.example.com
。hostnamectl 工具允许最多 64 个字符的静态和临时主机名,包括 a-z、A-Z、0-9、-
和。
在当前规格中,允许使用下划线。但是,由于旧的规格不允许使用它,因此红帽不推荐在主机名中使用下划线。
用于分配名称和编号的互联网公司有时会将之前未注册的顶级域(如 .yourcompany
)添加到公共寄存器。因此,红帽强烈建议您不要使用没有委托给您的域名,即使在私有网络中。因为这可能会导致根据网络配置的不同,解析的域名会有所不同。因此,网络资源可能会不可用。使用未委托给您的域名也使得 DNSSEC 更难以部署和维护,因为域名冲突会导致需要手动配置 DNSSEC 验证。
有关此问题的详情,请参阅 ICANN 有关域名冲突的 FAQ。
2.7.2. NetworkManager 更新
Red Hat Enterprise Linux 7 包括了一个 NetworkManager 的更新版本,它提供了很多改进和一些新功能。
-
nmcli 工具现在支持使用
nmcli con edit
和nmcli con modify
命令编辑连接。 - 新的基于文本的用户界面(nmtui)提供了基于控制台的简化工具来编辑网络配置和控制网络连接。它用于替代 system-config-network-tui 工具。
-
在以前的版本中,NetworkManager 会忽略它无法识别的网络接口(以太网、Infiniband、WiFi、Bridge、Bond 和 VLAN 以外的接口)。NetworkManager 现在识别由
ip 链接
获取的任何网络接口,并通过 D-Bus 接口和 nmcli 等客户端公开这些接口。这可让 NetworkManager 更接近 ip 等工具。 -
NetworkManager 现在可以以一个非破坏性的方式,获得它可以原生配置的接口(如以太网、InfiniBand、Bridge、Bond、VLAN 和团队接口)的所有权。如果在 NetworkManager 启动或重启前配置了这些接口,则之前配置的连接不会中断。这意味着不再需要
NM_CONTROLLED
选项。 - 支持检查网络连接、热点和门户。默认禁用此行为。
- 支持团队接口。
- 对 GRE、macvlan、macvtap、tun、tap、veth 和 vxlan 设备的基本、非原生支持。
- 新的 NetworkManager-config-server 软件包提供适合服务器的默认值,如忽略载体更改或不创建默认 DHCP 连接。
-
NetworkManager.conf
的新dns=none
配置选项可防止 NetworkManager 对resolv.conf
文件进行修改。 - 支持快速用户切换。
- 支持除接口外还锁定到接口名称的连接,而不是接口的 MAC 地址。
这个版本还会更改配置文件监控行为。NetworkManager 不再监控磁盘上的配置文件以进行更改。相反,用户必须使用 nmcli con reload
命令手动重新加载更改的配置文件。
2.7.3. 新的网络命名规范
Red Hat Enterprise Linux 7 提供可以实现网络接口的一致性和可预测的网络设备命名方法。这些功能更改了系统中网络接口名称,以便更轻松地查找和区分接口。
通常,Linux 中的网络接口枚举为 eth[0123…]
,但这些名称不一定与机箱上的实际标签对应。具有多个网络适配器的现代服务器平台,可能会遇到这些接口的命名不明确的情况。这会影响在主板上嵌入的网络适配器(Lan-on-Motherboard 或 LOM)和附加(单一和多端口)适配器。
在 Red Hat Enterprise Linux 7 中,systemd 和 udevd 支持很多不同的命名方案。默认行为是根据固件、拓扑和位置信息分配固定名称。它具有完全自动且完全可预测的名称的优点。即使添加或删除硬件(不会重新定义),并且有问题的硬件可以被无缝地替换,仍然可以保持固定的名称。这个行为的缺点是,名称有时比之前使用的名称更难于读,例如,enp5s0
代替 eth0
。
udevd 现在原生支持以下网络接口命名方案。
- 方案 1
-
使用固件或 BIOS 为板上设备提供的索引号,例如
eno1
。如果来自固件的信息可用,则默认情况下systemd 会使用这个方案命名接口,方案 2 作为一个备用方案。
- 方案 2
-
使用固件或 BIOS 提供的 PCI Express 热插槽索引号命名,例如
ens1
。如果来自固件的信息可用,则默认情况下systemd 会使用这个方案命名接口,方案 3 作为一个备用方案。
- 方案 3
-
使用硬件连接器的物理位置命名,例如
enp2s0
。如果来自固件的信息可用,则默认情况下systemd 会使用这个方案命名接口,方案 5 作为一个备用方案。
- 方案 4
-
使用 MAC 地址进行命名,例如
enx78e7d1ea46da
。默认情况下,systemd 不会根据这个方案命名接口,但在需要时可以启用它。
- 方案 5
-
传统的无法预计的内核原生 ethX 命名,如
eth0
。如果所有其他方法都失败,则systemd 根据这个方案进行接口命名。
如果系统启用了 BIOSDEVNAME
,或者用户添加了更改内核设备名称的 udevd 规则,则这些规则优先于默认的 systemd 策略。
有关此新命名系统的详情,请查看 网络指南。
2.7.4. 新的网络工具程序(ncat)
在 Red Hat Enterprise Linux 7 中使用一个新的网络工具程序 ncat 替换 netcat。ncat 是一个可靠的后端工具,它为其他应用程序和用户提供网络连接。它从命令行读取和写入数据,并使用 TCP 和 UDP 进行通信。
ncat 中的一些命令与之前由 netcat 提供的命令不同,或者使用相同的选项但提供的功能有所不同。这些区别在以下列表中概述。
-
netcat -P
选项使用指定的用户名来提供给需要身份验证的代理服务器。这个行为的 ncat 选项是--proxy-auth 用户 [:pass]
。 -
netcat -X
选项使用指定的协议,供联网实用程序在与代理服务器通信时使用。这个行为的 ncat 选项是--proxy-type
。 -
netcat -x
选项使用一个地址以及联网实用程序的可选端口来连接到代理服务器。这个行为的 ncat 选项是--proxy
,它采用 IP 地址和可选端口,如--proxy host[:port]
。 -
netcat -d
选项禁用从 stdin 读取。ncat -d
选项允许用户指定读取或写入操作之间的等待时间。但是 ncat 提供--recv-only
选项,它提供了与netcat -d
类似的行为。 -
netcat -i
选项指定发送和接收文本行之间或者到多个端口的连接之间的间隔。ncat -i
选项指定连接在连接超时并被终止前可以闲置的时间。ncat 中没有与netcat -i
选项的等效。 -
netcat -w
选项指定无法建立的连接在连接超时并被终止前可以闲置的时间。ncat -w
选项指定在超时前尝试连接的时间。
netcat 中的一些选项在 ncat 中没有对应的选项。ncat 目前无法执行以下操作。
-
在 socket 上启用调试(以前由
netcat -D
提供)。 -
指定 TCP 发送和接收缓冲区的大小(以前由
netcat -I
和netcat -O
提供)。 -
指定源端口或目的地端口是随机选择的(以前由
netcat -r
提供)。 -
通过 TCP MD5 签名选项(RFC 2385)启用 BGP 会话保护(以前由
netcat -S
提供)。 -
指定服务的 IPv4 类型(以前由
netcat -T
提供)。 -
指定使用 UNIX 域套接字(以前由
netcat -U
提供)。 -
指定要使用的路由表(以前由
netcat -V
提供)。 - 在不传送数据的情况下扫描侦听守护进程。
- 指定发送和接收文本行之间或者到多个端口的连接之间的间隔。
ncat 工具程序由 nmap-ncat 软件包提供。更多信息,请参阅 ncat man page:
$ man ncat
2.7.5. Postfix 的更改
Red Hat Enterprise Linux 7 将 postfix 从版本 2.6 升级到 2.10。在从 Red Hat Enterprise Linux 6 升级到 7 时,Preupgrade Assistant 会处理主要的兼容性问题,但用户应该了解以下非主要的兼容性问题。
-
在使用
postscreen
守护进程前,请确保先执行postfix stop
和postfix start
命令,以避免通过
master 服务出现问题。 -
默认由系统提供的 CA 证书不再添加到
*_tls_CAfile
或*_tls_CApath
列表中。这意味着使用 allow_tls_all_clientcerts
时第三方证书不再接收邮件中继权限。如果您的配置需要证书验证,请通过设置tls_append_default_CA = yes
来启用向后兼容的行为。 -
验证
服务现在使用默认启用定期清理的持久缓存。需要支持 delete 和 sequence 操作。要禁用缓存,在main.cf
中指定一个空白address_verify_map
参数。要禁用定期清理,将address_verify_cache_cleanup_interval
设置为0。
-
在以前的版本中,当过滤的 next-hop 目的地没有指定时,使用默认的 next-hop 目的地是
$myhostname
的值。现在默认是接收者域。要更改默认的 next-hop 目的地,请指定default_filter_nexthop = $myhostname
。在基于 pipe 的过滤中,这也启用了 FIFO 发送顺序,而不是使用 round-robin 域选择。 -
postmulti -e destroy
命令不再尝试删除执行postmulti -e create
命令后创建的文件。 -
现在,当添加带有 Milter
smfi_addrcpt
操作的接收者时,Postfix 会请求默认的发送状态通知。 - 当虚拟别名扩展超过虚拟别名递归或扩展限制时,Postfix 现在报告临时发送错误,而不是静默丢弃过量收件人并传递邮件。
-
现在,当向一个没有 owner-alias 的子别名发送邮件时,本地发送代理会保留父别名的 owner-alias 属性。这会减少重复发送到邮件列表的可能性。要启用旧的行为,请指定
reset_owner_alias = yes
。 -
当在没有 " 的 DNS 名称的情况下,Postfix SMTP 客户端不再附加
本地域
。要启用旧的行为,请指定smtp_dns_resolver_options = res_defnames
。请注意,这可能会导致意外的结果。 -
postfix/smtpd[pid]: queueid: client=host[addr]
日志文件记录的格式已更改。可用的 before-filter 客户端信息和 before-filter 队列 ID 现在会附加至记录末尾。 默认情况下,postfix 不再将未公开的接收者标头添加到没有指定接收方的消息中。要启用旧的行为,在
mail.cf
中指定以下内容:undisclosed_recipients_header = To: undisclosed-recipients:;
-
现在,在每次成功完成
STARTTLS
后,SASL 机制列表会被重新计算。 -
smtpd_starttls_timeout
默认值现在依赖于压力。 DNSBL 查询域名中带有 secret 的 DNSBL 查询现在必须从创建后 SMTP 回复隐藏该 secret。
例如,在
main.cf
中指定:postscreen_dnsbl_reply_map = texthash:/etc/postfix/dnsbl_reply
在
dnsbl_reply
中,指定单独的 DNSBL 名称:# Secret DNSBL name Name in postscreen(8) replies secret.zen.spamhaus.org zen.spamhaus.org
- 所有使用 postfix VSTREAMs 的程序都必须被重新编译,因为 VSTREAM 错误现在使用单独的标记进行读写错误。
-
smtp_line_length_limit
的默认值为999
,与 SMTP 标准保持一致。 -
Sendmail 现在会将以 <
CR><LF&
gt; 结尾的所有输入行转换为 UNIX 格式(<LF>
)。 -
默认情况下,SMTP 客户端不再将
AUTH=<>
附加到MAIL FROM
命令。 -
有些之前归类为
致命
的日志消息现在被归类为error
。基于日志文件的警报系统可能需要相应更新。要重新启用旧的行为,请将daemon_table_open_error_is_fatal
设置为yes
。 -
在 Postfix 2.9 之前不支持新支持的长队列文件名。要迁移到 Postfix 2.8 或更早版本,必须转换任何长队列文件名称。为此,请停止 postfix,将
enable_long_queue_ids
设置为no
,然后运行postsuper
命令,直到它不再导出队列文件名更改。 -
Postfix 现在记录带有 TLS 日志记录级别 0 的 TLS 协商的结果。详情请查看
postconf
man page 中的日志级别描述。 - postfix SMTP 服务器现在总是检查 smtpd_sender_login_maps 表。
-
现在,默认的
inet_protocols
值都为all
(使用 IPv4 和 IPv6)。为了避免在没有全局 IPv6 连接的站点出现意外的性能损失,在不存在显式设置时,进行
postfix upgrade-configuration
命令当前会将inet_protocols = ipv4
附加到main.cf
。 -
默认的
smtp_address_preference
值现在是任意的
(随机选择 IPv4 或 IPv6)。 -
SMTP 服务器不再报告因为查询表不可用而拒绝客户端命令的会话记录。要继续接收这样的报告,请将
data
类添加到notify_classes
参数的值中。 -
添加了一个新的
smtpd_relay_restrictions
参数。默认情况下,这启用了allow_mynetworks
、allow_sasl_authenticated
和defer_unauth_destination
。这可防止因为smtpd_recipient_restrictions
中的 spam 过滤规则出错而打开转发问题。但是,如果您的站点在smtpd_recipient_restrict
ion 下配置了复杂的邮件转发策略,则可能会错误地延迟一些邮件。要修正它,可以删除smtpd_relay_restrictions
配置并使用smtpd_recipient_restrictions
中的现有策略,或从smtpd_recipient_restrictions
复制到smtpd_relay_restrictions
的现有策略。
2.7.6. 网络协议
本部分包括了 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 间的网络协议更改概述。
2.7.6.1. 网络文件系统 (NFS)
Red Hat Enterprise Linux 7 支持 NFS 3、NFS 4.0 和 NFS 4.1。从 Red Hat Enterprise Linux 7 开始,不再支持 NFS 2。
NFS 4.1 提供了很多性能和安全增强,包括对 Parallel NFS(pNFS)的客户端支持。另外,回调不再需要单独的 TCP 连接,允许 NFS 服务器授权委派,即使它无法联系客户端,例如:当 NAT 或防火墙干扰时。
服务器支持 NFS 3、NFS 4.0 和 NFS 4.1。通过更改 RPCNFSDARGS
参数的值,可以在 /etc/sysconfig/nfs
文件中启用或禁用对特定版本的支持。例如,RPCNFSDARGS="-N4.1 -V3"
启用 NFS 3 支持并禁用对 NFS 4.1 的支持。详情请查看 man page:
$ man rpc.nfsd
默认情况下,NFS 客户端尝试使用 NFS 4.0 挂载,如果挂载操作不成功,则回退到 NFS 3。通过编辑 /etc/nfsmount.conf
文件并使用命令行选项来更改默认行为。详情请查看 man page。
$ man nfs
$ man nfsmount.conf
2.7.6.1.1. 并行 NFS(pNFS)
Red Hat Enterprise Linux 7 为 Parallel NFS(pNFS)提供客户端支持。pNFS 提高了 NFS 的可扩展性并可能提高性能。当 Red Hat Enterprise Linux 7 客户端挂载支持 pNFS 的服务器时,该客户端可以同时通过多个服务器访问数据。请注意,Red Hat Enterprise Linux 7 支持文件布局类型,对象和块布局类型作为技术预览包含。有关此协议及其功能的更多信息,请参阅 存储管理指南。
2.7.6.2. Apache Web 服务器(httpd)
Red Hat Enterprise Linux 7 提供 Apache Web Server 的更新版本。此新版本(2.4)包括一些重要的打包更改,以及许多新功能。
- 更改了代理配置
-
使用 SSL 后端的 Apache Web 服务器(
httpd
)配置现在必须使用SSLProxyCheckPeerName
指令,如果 SSL 证书与配置的主机名不匹配。在以前的版本中,不会验证代理后端的 SSL 证书中的主机名。
- 新的控制机制
-
因为 Red Hat Enterprise Linux 将系统从 SysV init 脚本中移出,所以控制
httpd
服务的命令已更改。红帽现在推荐使用apachectl
和systemctl
命令而不是service
命令。例如,如果您之前运行了service httpd 安全
,红帽现在推荐使用apachectl graceful
。
- 更改了默认子命令的行为
-
httpd 的
systemd
单元文件定义了reload
和stop
子命令的不同行为。具体来说,reload
子命令现在会正常重新加载该服务,stop
命令现在默认正常停止该服务。
- 硬编码的默认配置
-
以前的 httpd 版本提供了一个完整的配置文件,它列出了所有配置设置及其默认值。现在,一些常见的配置设置不再在默认配置文件中明确配置,而是默认设置是硬编码的。现在,默认配置文件具有最少的内容,因此更易于管理。所有设置的硬编码默认值都在手册中指定,默认情况下会安装到
/usr/share/httpd
中。
- 新的多功能模型模块
-
以前的 Red Hat Enterprise Linux 版本提供了几个多功能模型(fork 和
worker
)作为不同的 httpd 二进制文件。Red Hat Enterprise Linux 7 使用单一二进制文件,并提供这些多处理模型作为可加载模块:
worker
、prefork
(default)和事件
。编辑/etc/httpd/conf.modules.d/00-mpm.conf
文件,以选择载入哪个模块。
- 目录更改
在这个更新版本中,大量目录已移动或 不再提供。
-
以前在
/var/cache/mod_proxy
中安装的内容已移到proxy
或ssl
子目录下的/var/cache/httpd
。 -
之前在
/var/www
中安装的内容已移至/usr/share/httpd
。 -
之前在
/var/www/icons
中安装的内容已移至/usr/share/httpd/icons
。该目录包含与目录索引搭配使用的一组图标。 -
之前在
/var/www/manual
中安装的 httpd 手册的 HTML 版本已移至/usr/share/httpd/manual
。 -
之前在
/var/www/error
中安装的自定义多语言 HTTP 错误页面已移至/usr/share/httpd/error
。
-
以前在
- 对 suexec 的更改
-
suexec
二进制文件在安装时将用户标识符设置为 root。相反,使用文件系统功能位应用一组限制的权限集。这提高了 httpd 服务的安全性。另外,suexec 现在会向 syslog 发送日志信息,而不是使用/var/log/httpd/suexec.log
文件。默认情况下,发送到 syslog 的信息会出现在
/var/log/secure
中。
- 更改了模块接口兼容性
- 对 httpd 模块界面的更改意味着这个更新版本的 httpd 与之前版本的 httpd (2.2)构建的第三方二进制模块不兼容。此类模块需要根据需要调整 httpd 2.4 模块接口,然后重新构建。有关版本 2.4 中的 API 更改的详情,请查看 Apache 文档。
- apxs 二进制位置的变化
-
用于从源构建模块的
apxs
二进制文件已从/usr/sbin/apxs
移到 /usr/bin/apxs
。
- 新配置文件及移动的配置文件
加载模块的配置文件现在放在
/etc/httpd/conf.modules.d
目录中。为 httpd 提供附加可加载模块的软件包(如 php 软件包)将文件添加到此目录中。conf.modules.d
目录中的所有配置文件都会在httpd.conf
的主正文之前处理。/etc/httpd/conf.d
目录中的配置文件现在在httpd.conf
的主正文后进行处理。httpd 软件包提供了一些额外的配置文件:
-
/etc/httpd/conf.d/autoindex.conf
配置mod_autoindex
目录索引。 -
/etc/httpd/conf.d/userdir.conf
配置对用户目录的访问(http://example.com/~username/)。默认情况下,因为安全原因,这个访问会被禁用。 -
当不存在内容时,
/etc/httpd/conf.d/welcome.conf
配置 http://localhost/ 中显示的"welcome page"。
-
- 更改配置兼容性
- 此版本的 httpd 与之前版本(2.2)的配置语法不兼容。在与 httpd 的这个更新版本搭配使用时需要配置文件来更新相关的语法。有关版本 2.2 和版本 2.4 之间的语法变化的详情,请查看 Apache 文档。
2.7.6.3. Samba
Red Hat Enterprise Linux 7 提供 Samba 4。它是一组守护进程、客户端实用程序和 Python 绑定,允许使用 SMB1、SMB2 和 SMB3 协议进行通信。
Kerberos 的当前实现不支持 Samba 4 Active Directory 域控制器功能。这个功能没有包括在 Red Hat Enterprise Linux 7.0 中,但预计会包含在以后的版本中。包括了不依赖于 Active Directory DC 的所有其他功能。
Red Hat Enterprise Linux 6.4 及之后的版本提供了 Samba 4 作为技术预览,并将其打包为一系列 [package]*samba4- 软件包, 以避免与稳定的 Samba 3 软件包([package]*samba- )冲突。由于 Samba 4 现在被完全支持,并提供了多个对 Samba 3 的改进,Red Hat Enterprise Linux 7 提供 Samba 4 作为标准 [package]*samba- 软件包。特殊 [package]*samba4- 软件包已过时。
有关 Samba 的详情,请查看 系统管理员指南。
2.7.6.4. BIND
在 Red Hat Enterprise Linux 6 中,安装 bind-chroot 软件包更改了 /etc/sysconfig/named
中的 ROOTDIR
环境变量,以指向 chroot 环境位置。要正常运行 指定服务
(不在 chroot 环境中),需要删除 bind-chroot 软件包或在 /etc/sysconfig/named
文件中手动编辑 ROOTDIR
环境变量。
在 Red Hat Enterprise Linux 7 中,安装 bind-chroot 软件包不会改变 named
服务的运行方式。相反,它会安装 一个名为-chroot
的新服务,该服务通过 systemctl
命令单独启动和停止,例如:
# systemctl start named-chroot.service
# systemctl stop named-chroot.service
服务不能与指定服务同时运行。
named
-chroot
2.7.7. 默认产品证书
从 Red Hat Enterprise Linux 7.2 版本开始,已将默认证书添加到 redhat-release 软件包中。此默认证书保存在 /etc/pki/product-default/
目录中。
Subscription Manager 现在会在 /etc/pki/product/
目录中搜索证书列表,然后在 /etc/pki/product-default/
目录中搜索证书列表。/etc/pki/product-default/
目录中的内容由 redhat-release 软件包提供。/etc/pki/product-default/
目录中的任何证书都被视为安装 /etc/pki/product/
目录中。默认产品证书在 Subscription Manager 从订阅的频道获取产品证书前使用。
2.8. 集群和高可用性
本小节概述了 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 之间的集群和高可用性支持以及相关的配置工具。
2.8.1. 影响替换限制(pcs)
在 Red Hat Enterprise Linux 6 中,luci
同时控制了 Red Hat Enterprise Linux 5 和 Red Hat Enterprise Linux 6 高可用性集群。
Red Hat Enterprise Linux 7 会删除 luci
,并使用 pcs
替代它。pcs
只能控制基于 Red Hat Enterprise Linux 7 pacemaker 的集群。它无法控制基于 Red Hat Enterprise Linux 6 rgmanager 的高可用性集群。
2.8.2. keepalived 替换 Piranha
Red Hat Enterprise Linux 7 的 Load Balancer Add-On 现在包含 keepalived
服务,它提供 piranha
和其他功能。因此,Piranha
已被 Red Hat Enterprise Linux 7 中的 keepalived
服务取代。
因此,配置文件及其格式已改变。keepalived
默认在 /etc/keepalived/keepalived.conf
文件中配置。有关此文件预期的配置格式和语法的详情,请参考 keepalive.conf
man page:
$ man keepalived.conf
2.8.3. 在线迁移限制
集群不支持从 Red Hat Enterprise Linux 6 在线迁移到 Red Hat Enterprise Linux 7。
另外,Red Hat Enterprise Linux 6 高可用性集群与 Red Hat Enterprise Linux 7 高可用性堆栈不兼容,因此不支持从 Red Hat Enterprise Linux 6 迁移到 Red Hat Enterprise Linux 7 高可用性集群的在线迁移。
2.8.4. 新的资源管理器(Pacemaker)
从 Red Hat Enterprise Linux 7 开始,rgmanager 和 cman 将被 pacemaker 和 corosync 取代。
Pacemaker 是一个具有许多有用功能的高可用性资源管理器。
- 从机器和应用程序级别的失败中检测和恢复。
- 支持多个冗余配置。
- 支持基于配额和基于资源的集群。
- 处理仲裁丢失的可配置策略(当多台计算机出现故障时)。
- 支持指定应用程序启动和关闭顺序,无论应用程序所在的机器是什么。
- 支持指定应用程序必须或不能在同一台机器中运行。
- 支持指定应用程序在多个机器上应活跃。
- 支持应用程序的多种模式,如 master 和 slave。
- 对任何故障或集群状态做出正确响应。
- 对任何情况的响应可在情况存在前进行离线测试。
有关 Pacemaker 的详情,请查看 高可用性附加组件文档。
2.8.5. 新功能:资源代理
Red Hat Enterprise Linux 7 引进了用于 Pacemaker 资源管理器的资源代理。资源代理提取集群资源,为管理集群环境中的资源提供了一个标准接口。有关 Red Hat Enterprise Linux 7 中资源代理的详情,请查看 高可用性附加组件文档。
Red Hat Enterprise Linux 7.2 添加了对 IBM DB2 资源代理的支持,它将 DB2 作为集群资源在高可用性环境中驱动和管理。
2.8.6. 更改了仲裁实施
Red Hat Enterprise Linux 6 提供的 qdiskd 已从 Red Hat Enterprise Linux 7 中删除。新仲裁的实现由 votequorum
(包含在 corosync 软件包中)提供,并已扩展为替换 qdiskd。votequorum.5
man page 中的扩展(wait_for_all
、auto_tie_breaker
和 last_man_standing
.
$ man 5 votequorum
2.9. Desktop
本部分包括了在 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 之间支持的桌面用户环境的更改概述。
本节只涵盖用户从 Red Hat Enterprise Linux 7 中的新桌面环境预期的主要更改。有关详细信息,请参阅 桌面迁移和管理指南。
2.9.1. 新默认桌面环境(GNOME Classic)
GNOME Classic 是 Red Hat Enterprise Linux 7 中 GNOME 3 桌面环境的默认会话。此环境作为 GNOME 3 桌面环境的一组扩展提供,包括其强大的新功能,同时保留了 GNOME 2 的熟悉外观和感觉。
在 GNOME Classic 中,用户界面有两个主要组件:
- 顶部栏
屏幕顶部的这个栏会显示 Applications 和 Places 菜单。
Applications 菜单可让用户访问系统中的应用程序,这些应用程序在菜单中被分为多个类别。此菜单还提供对新
活动概览
的访问,可让您轻松查看您的打开窗口、工作区以及任何消息或系统通知。Places 菜单在顶部的 Applications 菜单旁显示。它允许用户快速访问重要的文件夹,如
Downloads
或Pictures
。
- 任务栏
- 任务栏显示在屏幕底部,它带有一个窗口列表、通知图标、当前工作区以及可用工作区总数的简短标识符。
有关 GNOME Classic 及其功能的完整指南,以及 Red Hat Enterprise Linux 7 中的其他桌面环境,请参见 桌面迁移和管理指南。
2.9.2. 新桌面环境(GNOME 3)
Red Hat Enterprise Linux 7 还支持 GNOME 3 桌面环境的 GNOME 3 会话。这种环境旨在方便使用和用户生产率。它为您提供了大量与在线文档存储服务、日历和联系列表的集成,因此您始终保持最新状态。
在 GNOME 3 中,用户界面有三个主要组件:
- 顶部栏
-
屏幕顶部的这个横向栏提供了对一些基本的 GNOME Shell 功能的访问,如
Activities Overview
、时钟、日历、系统状态图标和系统菜单。
- 活动概述
-
"活动概览"
可让您轻松查看您的打开窗口、工作区以及任何消息或系统通知。搜索栏是查找文件、启动应用程序或打开配置工具的最简单方法。左侧的横线显示您的程序,因此您可以更快地访问您最常用的工具。
- 消息栏
- 消息栏在您的屏幕底部以栏的形式出现。它显示待处理的通知,因此您总是知道系统中的真实情况。
有关 GNOME 3 及其功能的完整指南,以及 Red Hat Enterprise Linux 7 中的其他桌面环境,请参见 桌面迁移和管理指南。
2.9.3. KDE Plasma Workspaces(KDE)
Red Hat Enterprise Linux 7 提供 KDE Plasma Workspaces(KDE)版本 4.10,以前称为 K 桌面环境。KDE 的这个更新版本提供很多改进,其中包括:
- 一个改进的、与默认的 Oxygen 风格一致的外观。
- 更新的通知系统(可删除和可操作的通知,具有速度图形),并可在面板中显示进度。
- 系统设置 中现在可用的工作区配置。
- 活动管理器 提供在活动之间添加、删除、保存、恢复和切换的功能。
- 优化核心和用户界面元素,以提高性能。
- 自适应电源管理,具有简化的用户界面和简单的配置集切换。
- 新的 Print Manager,它简化了打印机配置,并快速、准确报告打印机状态。
- 更新了 Dolphin File Manager,带有导航按钮、标签式浏览以及对元数据处理的改进。
- 更新的终端模拟器(Konsole),它改进了标签页和窗口控制,并改进了互操作性。
- KScreen 的新显示管理器,它会自动记住和恢复显示配置,包括解析和相对路径。
- 个新的小程序,Plasma Network Manager 可以轻松控制网络并配置网络连接。
但是,用户应该注意 Kmail 不再包含在 Red Hat Enterprise Linux 7 中。
2.10. 开发人员工具
本部分介绍了对开发人员工具的支持和可能会影响 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 之间的开发人员进行的更新。
2.10.1. Red Hat Developer Toolset
Red Hat Developer Toolset 可在单独的加速生命周期内访问开源开发工具的最新稳定版本。它可供具有有效 Red Hat Developer 订阅的红帽客户使用。
Red Hat Developer Toolset 2 目前不支持在 Red Hat Enterprise Linux 7 中开发应用程序。但是,Red Hat Developer Toolset 支持在 Red Hat Enterprise Linux 6 中开发应用程序,并在支持的 Red Hat Enterprise Linux 6 或者 Red Hat Enterprise Linux 7 的次发行版本中进行部署。
2.10.2. 兼容性库
Red Hat Enterprise Linux 7 包含一些支持之前 Red Hat Enterprise Linux 版本中的接口的兼容性库。这些库由红帽的兼容性政策包括在内,由红帽自由裁量。详情请查看 应用程序兼容性指南。
以下兼容性库包括在 Red Hat Enterprise Linux 7 中。
程序库 | 此接口为默认的最后一个发行版本 |
---|---|
compat-db47 | Red Hat Enterprise Linux 6 |
compat-libcap1 | Red Hat Enterprise Linux 5 |
compat-libf2c-34 | Red Hat Enterprise Linux 4 |
compat-libgfortran-41 | Red Hat Enterprise Linux 5 |
compat-openldap | Red Hat Enterprise Linux 5 |
libpng12 | Red Hat Enterprise Linux 5 |
openssl098e | Red Hat Enterprise Linux 5 |
compat-dapl | Red Hat Enterprise Linux 5 |
compat-libtiff3 | Red Hat Enterprise Linux 6 |
compat-libstdc++-33 | Red Hat Enterprise Linux 3(仅适用于可选软件仓库) |
Red Hat Enterprise Linux 7 还包含 compat-gcc-44 和 compat-gcc-44-c++ 软件包,它们代表了在 Red Hat Enterprise Linux 6 中提供的系统编译器,并可与 compat-glibc 软件包一起用于构建和连接旧的软件。
2.11. 安全性和访问控制
本部分介绍了 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 间的安全性、访问控制和相关配置工具的更改。
2.11.1. 新防火墙(firewalld)
在 Red Hat Enterprise Linux 6 中,防火墙功能由 iptables 程序提供,并通过命令行或通过图形配置工具 system-config-firewall 进行配置。在 Red Hat Enterprise Linux 7 中,防火墙功能仍由 iptables 提供。但是,管理员现在通过动态防火墙守护进程、firewalld
及其配置工具: firewall-config、firewall-cmd 和 firewall-applet 与 iptables 交互,这些守护进程没有包括在 Red Hat Enterprise Linux 7 的默认安装中。
由于 firewalld
是动态的,因此可以随时更改其配置,并且会立即实施。防火墙不需要重新载入,因此现有网络连接不会意外中断。
Red Hat Enterprise Linux 6 和 7 中防火墙之间的主要区别是:
-
firewalld 配置详情不会存储在
/etc/sysconfig/iptables
中。相反,配置详情保存在/usr/lib/firewalld
和/etc/firewalld
目录中的各种文件中。 -
在 Red Hat Enterprise Linux 6 中,防火墙系统在每次进行配置更改时被删除并重新应用所有规则,
firewalld
只应用配置差异。因此,firewalld
可以在运行时更改设置,而不会丢失现有连接。
有关在 Red Hat Enterprise Linux 7 中配置防火墙的详情和帮助,请参阅 安全指南。
2.11.1.1. 将规则迁移到 firewalld
如果您将 Red Hat Enterprise Linux 7 与另一个红帽产品(如 Red Hat Enterprise Linux OpenStack 平台)搭配使用,则最好继续使用 iptables
或 ip6tables
,而不是移至 firewalld
。
如果您不能确定要使用哪个防火墙工具,请参阅您的产品文档或联系红帽支持团队。
有关如何禁用 firewalld
并继续使用 iptables
或 ip6tables
的说明 :https://access.redhat.com/articles/1229233。
Red Hat Enterprise Linux 6 提供了两个防火墙配置方法:
-
使用图形化 system-config-firewall 工具来配置规则。此工具将配置详情保存在
/etc/sysconfig/system-config-firewall
文件中,并在/etc/sysconfig/
和iptables
/etc/sysconfig/
文件中为 iptables 和 ip6tables 服务创建配置。ip6tables
-
手动编辑
/etc/sysconfig/iptables
和/etc/sysconfig/ip6tables
文件(从头开始),或编辑 system-config-firewall创建的初始配置。
如果您使用 system-config-firewall 配置了 Red Hat Enterprise Linux 6 防火墙,在升级系统并安装 firewalld 后,您可以使用 firewall-offline-cmd 工具将 /etc/sysconfig/system-config-firewall
中的配置迁移到 firewalld
的默认区。
$ firewall-offline-cmd
但是,如果您手动创建或编辑 /etc/sysconfig/iptables
或 /etc/sysconfig/ip6tables
,在安装 firewalld 后,您必须使用 firewall-cmd 或 firewall-config 创建新的配置,或者禁用 firewalld
并继续使用旧的 iptables
和 ip6tables
服务。有关创建新配置或禁用 firewalld
的详情,请参阅 安全指南。
2.11.2. 对 PolicyKit 的更改
在以前的版本中,PolicyKit 在 .pkla
文件中使用键值对来定义额外的本地授权。Red Hat Enterprise Linux 7 引进了使用 JavaScript 定义本地授权的功能,允许您在必要时编写授权。
polkitd
从 /etc/polkit-1/
和 rules.
d/usr/share/polkit-1/rules.d
目录中以字典顺序读取 .rules 文件。如果两个文件共享相同的名称,/etc
中的文件将在 /usr
中的文件之前处理。当处理旧的 .pkla
文件时,最后的规则具有优先权。使用新的 .rules
文件时,第一个匹配的规则具有优先权。
迁移后,您的现有规则由 /etc/polkit-1/rules.d/49-polkit-pkla-compat.rules
文件应用。因此,它们可以被 /usr
或 /etc
中的 .rules
文件覆盖,其名称为 49-polkit-pkla-compat
in lexicographic order。请确定旧规则没有被覆盖的最简便方法是开始所有其他 .rules
文件的名称,它大于 49。
有关此问题的详情,请查看 桌面迁移和管理指南。
2.11.3. 更改用户标识符
在 Red Hat Enterprise Linux 6 中,基本用户标识符为 500
。在 Red Hat Enterprise Linux 7 中,基本用户标识符为 1000
。这个更改涉及在升级过程中替换 /etc/login.defs
文件。
如果您还没有修改默认的 /etc/login.defs
文件,则会在升级过程中替换该文件。基本用户标识符号被更改为 1000
,新用户将在 1000 及以上分配用户标识符。在此更改前创建的用户帐户会保留其当前用户标识符,并继续按预期工作。
如果您修改了默认的 /etc/login.defs
文件,则文件不会在升级过程中替换,且基本用户标识符号则是 500。
2.11.4. 对 libuser 的更改
从 Red Hat Enterprise Linux 7 开始,libuser 库不再支持包含 ldap
和 files
模块的配置,或者 ldap
和 shadow
模块。组合这些模块会在密码处理中造成不确定性,这些配置现在在初始化过程中被拒绝。
如果使用 libuser
管理 LDAP 中的用户或组,则必须从模块中删除 文件和
shadow
模块,并 在配置文件中
创建_modules
指令(默认为/etc/libuser.conf
)。
2.11.5. 对 opencryptoki 密钥存储的更改
以前版本的 Red Hat Enterprise Linux 使用 opencryptoki 密钥存储版本 2,它使用硬件中的安全密钥加密私有令牌对象。Red Hat Enterprise Linux 7 使用版本 3,它会在软件中使用明确密钥加密私有令牌对象。这意味着,在可与版本 3 一起使用之前,必须迁移版本 2 创建的私有令牌对象。
要迁移私有令牌对象,请执行以下步骤:
更新软件,确保您的 opencryptoki 版本是最新的。
# yum update -y opencryptoki
验证您的令牌的插槽号使用
pkcsconf
来确定令牌的插槽号。作为 root 运行以下命令:# pkcsconf -s # pkcsconf -t
记录您的令牌的插槽号。插槽描述以
(CCA)
结尾。information 字段将令牌标识为IBM CCA Token
。停止接口访问,停止
pkcsslotd
服务和任何opencryptoki
进程。# systemctl stop pkcsslotd.service
使用以下命令来确定进程通过
kill
实用程序停止,然后终止适当的进程。# ps ax | grep pkcsslotd
备份迁移前的数据存储,备份您的令牌存储(您的令牌存储在的目录,通常为
/var/lib/opencryptoki/ccatok
)。例如,生成目录的一个副本。# cp -r /var/lib/opencryptoki/ccatok /var/lib/opencryptoki/ccatok.backup
运行迁移实用程序,切换到
/var/lib/opencryptoki/ccatok
目录,然后运行迁移实用程序。# cd /var/lib/opencryptoki/ccatok # pkcscca -m v2objectsv3 -v
在提示时,提供您的 Security Officer(SO)PIN 和 User PIN。
删除过时的共享内存文件,删除
/dev/shm/var.lib.opencryptoki.ccatok
文件,或者重启系统。# rm /dev/shm/var.lib.opencryptoki.ccatok
返回到操作接口访问,再次启动
pkcsslotd
服务。# systemctl start pkcsslotd.service
如果您在迁移时遇到问题,请检查以下内容:
-
确保您以 root 用户身份运行命令,并且 root 是
pkcs11
组的成员。 -
确保
pkcsconf
实用程序位于/usr/lib/pkcs11/methods/
目录中,或者/usr/sbin/
目录。 -
确保令牌数据存储位于
/var/lib/opencryptoki/ccatok/
目录中。 - 确保您已提供一个插槽号,并且插槽号正确。
- 请确定您的 Security Officer (SO) PIN 和 User PIN 是正确的。
- 确定您有对当前目录的写入权限。
第 3 章 对软件包、功能和支持的更改
请参阅本章,以了解有关对 Red Hat Enterprise Linux 7 中提供的功能更改或软件包的更改,以及对所说软件包的支持更改的信息。
3.1. 新软件包
这部分论述了 Red Hat Enterprise Linux 7 中现在可用的主要软件包。
3.1.1. Preupgrade Assistant
在对系统进行任何更改前,P reupgrade Assistant (preupg
)会检查您从 Red Hat Enterprise Linux 6 升级到 Red Hat Enterprise Linux 7 时可能会遇到的潜在问题。这有助于您在实际升级过程开始前评估成功升级到 Red Hat Enterprise Linux 7 的机率。
Preupgrade Assistant 评估系统以了解可能的原位升级限制,如删除软件包、不兼容的过时的、名称更改、对一些配置文件 compatibilities 等。然后提供以下内容:
- 系统分析报告,提供针对任何检测到的迁移问题的解决方案。
- 如果原位升级没有合适,可用于"克隆"系统的数据。
- 升级后的脚本以在原位升级后完成更复杂的问题。
除了 Preupgrade Assistant 保存的信息和日志外,您的系统不会有其他变化。
有关如何获取和使用 Preupgrade Assistant 的详细信息,请参阅评估升级是否适合性。
3.1.2. Red Hat Upgrade Tool
新的 Red Hat Upgrade Tool 在 Preupgrade Assistant 后使用,并处理升级过程的三个阶段:
- Red Hat Upgrade Tool 从磁盘或服务器获取软件包和升级镜像,准备该系统进行升级,并重启系统。
- 重启系统检测到可用的升级软件包,并使用 systemd 和 yum 升级系统上的软件包。
- 升级后,Red Hat Upgrade Tool 会进行清理,并将系统重启到升级的操作系统。
支持基于网络和基于磁盘的升级。有关如何升级系统的详情,请参考 第 1 章 如何升级。
3.1.3. Chrony
Chrony
是 chrony 软件包中提供的新 NTP 客户端。它取代了 ntp,作为 Red Hat Enterprise Linux 7 中默认的 NTP 实现。然而,它并不支持 ntp 中的所有可用功能。因此出于兼容性的原因,仍会提供 ntp。如果需要 ntp,您必须明确删除 chrony 并安装 ntp。
与 ntp 的实现相比,Chrony
的时间算法具有一些优点。
- 同步更快、更准确。
- 更大范围的频率修正。
- 更好地响应时钟频率中的快速变化。
- 初始同步后没有时钟步骤。
- 在网络连接不稳定的环境中可以正常工作。
有关 chrony 的更多信息,请参阅 系统管理员指南。
3.1.4. HAProxy
HAProxy
是一个适用于高可用性环境的 TCP/HTTP 反向代理。它需要少量资源,其事件驱动的架构允许它在数百个实例上轻松处理数千台并发连接,而不影响系统的稳定性。
有关 HAProxy
的详情请参考 man page,或参考 /usr/share/doc/ haproxy
目录中安装的 haproxy 软件包的文档。
3.1.5. Kernel-tools
kernel-tools 软件包包含很多用于 Linux 内核的工具。这个软件包中的一些工具替换了之前在其他软件包中可用的工具。详情请查看 第 3.3 节 “弃用的软件包” 和 第 3.2 节 “软件包替换”。
3.1.6. NFQUEUE (libnetfilter_queue)
Red Hat Enterprise Linux 7.1 提供 libnetfilter_queue 软件包。这个库启用 NFQUEUE
iptables 目标,它指定监听用户空间应用程序将从指定的队列检索数据包,并确定如何处理该数据包。
3.1.7. SCAP 安全指南
scap-security-guide 软件包为 Security Content Automation Protocol (SCAP)提供安全指导、基准和相关验证机制。在以前的版本中,这个软件包只通过 EPEL 软件仓库(Extra Packages for Enterprise Linux)提供。从 Red Hat Enterprise Linux 7.1 开始,Red Hat Enterprise Linux 7 Server(RPMS)软件仓库提供了 scap-security-guide。
3.1.8. Red Hat Access GUI
Red Hat Access GUI 是一个桌面应用程序,可让您使用红帽知识库、资源和功能找到帮助、回答和使用诊断服务。如果您在红帽客户门户网站中有一个有效的帐户,您可以轻松访问知识库的信息及其他资源。如果您选择安装了 GNOME 桌面,则 Red Hat Access GUI 已安装。
有关这个工具的好处、安装和使用的更多信息,请参阅 Red Hat Access GUI。
3.2. 软件包替换
这部分列出了在版本 6 和版本 7 之间从 Red Hat Enterprise Linux 中删除的软件包,以及 Red Hat Enterprise Linux 7 中功能等同的替代软件包或替代软件包。
删除的软件包 | 替换/备用 | 备注 |
---|---|---|
vconfig | iproute(ip 工具) | 不完全兼容。 |
module-init-tools | kmod | |
openoffice.org | libreoffice | |
man | man-db | |
ext2 和 ext3 文件系统驱动程序 | ext4 文件系统驱动程序 | |
openais | corosync | 功能包括在 Red Hat Enterprise Linux HA 堆栈中。 |
jwhois | whois | 输出格式不同。 |
libjpeg | libjpeg-turbo | |
gpxe | ipxe | gpxe 的分支(fork)。 |
cpuspeed | kernel、kernel-tools(cpupower、cpupower.service) |
现在在 |
nc | nmap-ncat | |
procps | procps-ng | |
openswan | libreswan | |
arptables_jf | arptables | |
gcj | OpenJDK | 不要使用 gcj 将 Java 应用程序编译为原生代码。 |
32 位 x86 作为安装构架 | AMD64 和 Intel 64 | 应用程序仍将使用兼容性库运行。在 64 位 Red Hat Enterprise Linux 6 中测试您的应用程序。如果需要 32 位 x86 引导支持,继续使用 Red Hat Enterprise Linux 6。 |
Power 6 PPC 支持 | 继续使用 Red Hat Enterprise Linux 5 或 Red Hat Enterprise Linux 6 | |
Matahari | 基于 CIM 的管理 | |
ecryptfs | 使用现有的基于 LUKS/dm-crypt 块的加密 | 加密的文件系统无法进行迁移。需要重新创建加密的数据。 |
evolution-exchange | evolution-mapi/evolution-ews | |
TurboGears2 web 应用程序堆栈 | ||
openmotif22 | motif | 针对当前的 Motif 版本重建应用程序。 |
Webalizer Web 分析工具 | 首选使用其他 Web 分析工具。 | |
compiz window manager | gnome-shell | |
Eclipse developer toolset | 现在,Developer Toolset 提供了 eclipse。 | |
Qpid 和 QMF | Qpid 和 QMF 在 MRG 服务中可用。 | |
amtu | Common Criteria 认证不再需要这个工具。 | |
pidgin frontends | empathy | |
perl-suidperl | Perl | 此功能已在上游 perl 中删除。 |
pam_passwdqc, pam_cracklib | libpwquality, pam_pwquality | 不完全兼容。 |
HAL 库和守护进程 | udev | |
ConsoleKit 库和守护进程 | systemd | 不完全兼容。 |
system-config-network | nm-connection-editor、nmcli | |
thunderbird | evolution | |
system-config-firewall | firewalld | |
busybox | 普通工具 | |
KVM/virt 软件包(在 ComputeNode) | KVM/virt 带有不同变体,如 Server 变体 | |
abysinica-fonts | sil-abyssinica-fonts | |
axis | java-1.7.0-openjdk | |
ccs | pcs | 不完全兼容。 |
cjkuni-fonts-common | cjkuni-uming-fonts | |
classpath-jaf | java-1.7.0-openjdk | |
classpath-mail | javamail | 不完全兼容。 |
cman | corosync | |
control-center-extra | control-center | |
db4-cxx | libdb4-cxx | |
db4-devel | libdb4-devel | |
db4-utils | libdb4-utils | |
desktop-effects | control-center | |
DeviceKit-power | upower | 不完全兼容。 |
dracut-kernel | dracut | |
eggdbus | glib2 | 不完全兼容。 |
fcoe-target-utils | targetcli | |
febootstrap | supermin | |
gcc-java | java-1.7.0-openjdk-devel | |
GConf2-gtk | GConf2 | |
gdm-plugin-fingerprint | gdm | |
gdm-plugin-smartcard | gdm | |
gdm-user-switch-applet | gnome-shell | 不完全兼容。 |
geronimo-specs | geronimo-parent-poms | |
geronimo-specs-compat | geronimo-jms, geronimo-jta | 不完全兼容。 |
gimp-help-browser | gimp | 不完全兼容。 |
gnome-applets | gnome-classic-session | 不完全兼容。 |
gnome-keyring-devel | gnome-keyring | |
gnome-mag | gnome-shell | 不完全兼容。 |
gnome-python2-applet | pygtk2 | 不完全兼容。 |
gnome-speech | speech-dispatcher | 不完全兼容。 |
gpxe-roms-qemu | ipxe-roms-qemu | |
hal | systemd | 不完全兼容。 |
hal-devel | systemd-devel | 不完全兼容。 |
ibus-gtk | ibus-gtk2 | |
ibus-table-cangjie | ibus-table-chinese-cangjie | |
ibus-table-erbi | ibus-table-chinese-erbi | |
ibus-table-wubi | ibus-table-chinese-wubi-haifeng | |
jakarta-commons-net | apache-commons-net | |
java-1.5.0-gcj | java-1.7.0-openjdk, java-1.7.0-openjdk-headless | 不完全兼容。 |
java-1.5.0-gcj-devel | java-1.7.0-openjdk-devel | 不完全兼容。 |
java-1.5.0-gcj-javadoc | java-1.7.0-openjdk-javadoc | 不完全兼容。 |
junit4 | junit | |
jwhois | whois | |
kabi-whitelists | kernel-abi-whitelists | |
kdeaccessibility-libs | kdeaccessibility | |
kdebase-devel | kde-baseapps-devel | |
kdebase-workspace-wallpapers | kde-wallpapers | |
kdelibs-experimental | kdelibs | |
kdesdk-libs | kate-libs, kdesdk-kmtrace-libs, kdesdk-kompare | 不完全兼容。 |
kdesdk-utils | kdesdk-poxml | |
krb5-auth-dialog | gnome-online-accounts | 不完全兼容。 |
lldpad-libs | lldpad | |
lslk | util-linux | 不完全兼容。 |
luci | pcs | 详情请查看 第 2.8 节 “集群和高可用性”。 |
man-pages-uk | man-pages | |
mingetty | util-linux | 不完全兼容。 |
modcluster | pcs | 不完全兼容。 |
mod_perl | mod_fcgid | 与 httpd 2.4 不兼容。 |
m17n-contrib-* | m17n-contrib | |
m17n-db-* | m17n-db, m17n-db-extras | |
NetworkManager-gnome | nm-connection-editor、network-manager、applet | |
nss_db | glibc | 不完全兼容。 |
openais | corosync | |
openaislib | corosynclib | |
openaislib-devel | corosynclib-devel | |
PackageKit-gtk-module | PackageKit-gtk3-module | 不完全兼容。 |
polkit-desktop-policy | polkit | |
pulseaudio-libs-zeroconf | pulseaudio-libs | 不完全兼容。 |
qt-sqlite | qt | |
rdesktop | xfreerdp | |
Red_Hat_Enterprise_Linux-Release_Notes-6-* | Red_Hat_Enterprise_Linux-Release_Notes-7-* | |
redhat-lsb-compat | redhat-lsb-core | |
rgmanager | pacemaker | 详情请查看 第 2.8 节 “集群和高可用性”。 |
rhythmbox-upnp | rhythmbox | |
ricci | pcs | 详情请查看 第 2.8 节 “集群和高可用性”。 |
samba4* | samba* | 详情请查看 第 2.7.6.3 节 “Samba”。 |
sbm-cim-client | sbm-cim-client2 | 不完全兼容。 |
scsi-target-utils | targetcli | |
seekwatcher | iowatcher | |
spice-client | virt-viewer | 不完全兼容。 |
system-config-lvm | gnome-disk-utility | 不完全兼容。 |
texlive-* | texlive | |
tex-cm-lgc | texlive-cm-lgc | |
tex-kerkis | texlive-kerkis | |
texlive-texmf-dvips | texlive-dvips | |
texlive-texmf-latex | texlive-latex | |
tomcat6 | tomcat | |
tomcat6-el-2.1-api | tomcat-el-2.2-api | |
tomcat6-jsp-2.1-api | tomcat-jsp-2.2-api | |
tomcat6-lib | tomcat-lib | |
totem-upnp | totem | |
udisks | udisks2 | 不完全兼容。 |
un-core-batang-fonts | nhn-nanum-myeongjo-fonts | |
un-core-dinaru-fonts, un-core-graphic-fonts | nhn-nanum-gothic-fonts | 不完全兼容。 |
un-core-dotum-fonts | nhn-nanum-gothic-fonts | |
un-core-fonts-common | nhn-nanum-fonts-common | 不完全兼容。 |
un-core-gungseo-fonts | nhn-nanum-brush-fonts | 不完全兼容。 |
un-core-pilgi-fonts | nhn-nanum-pen-fonts | 不完全兼容。 |
unique | unique3, glib2 | 不完全兼容。 |
unique-devel | unique3-devel | 不完全兼容。 |
unix2dos | dos2unix | |
vgabios | seavgabios-bin | |
w3m | text-www-browser | 不完全兼容。 |
xmlrpc3-* | xmlrpc-* | |
xorg-x11-drv-apm | xorg-x11-drv-fbdev, xorg-x11-drv-vesa | |
xorg-x11-drv-ast, xorg-x11-drv-cirrus, xorg-x11-drv-mga | xorg-x11-drv-modesetting | |
xorg-x11-drv-ati-firmware | linux-firmware | |
xorg-x11-drv-elographics, xorg-x11-drv-glint, xorg-x11-drv-i128, xorg-x11-drv-i740, xorg-x11-drv-mach64, xorg-x11-drv-rendition, xorg-x11-drv-r128, xorg-x11-drv-savage, xorg-x11-drv-siliconmotion, xorg-x11-drv-sisrv-s11-drv-sisusb, xorg-x11-drv-s3virge, xorg-x11-drv-tdfx, xorg-x11-drv-trident, xorg-x11-drv-voodoo, xorg-x11-drv-xgi | xorg-x11-drv-fbdev, xorg-x11-drv-vesa | |
xorg-x11-drv-nv | xorg-x11-drv-nouveau | |
xorg-x11-twm | metacity | 不完全兼容。 |
xorg-x11-xdm | gdm | 不完全兼容。 |
yum-plugin-downloadonly | yum |
3.3. 弃用的软件包
本节中列出的软件包在 Red Hat Enterprise Linux 7 中被视为已弃用。这些软件包仍可以正常工作,并仍然被支持,但红帽不推荐使用它们。
功能/软件包 | 替代方案 | 迁移备注 |
---|---|---|
ext2 文件系统支持 | ext3、ext4 | ext4 可用于 ext2 和 ext3 文件系统。 |
sblim-sfcb | tog-pegasus | |
旧的使用 RHN 的注册 | subscription-manager 和 Subscription Asset Manager | |
acpid | systemd | |
evolution-mapi | evolution-ews | 请从 Microsoft Exchange Server 2003 机器迁移。 |
gtkhtml3 | webkitgtk3 | |
sendmail | postfix | |
edac-utils 和 mcelog | rasdaemon | |
libcgroup | systemd | cgutils 将继续存在于 Red Hat Enterprise Linux 7.0 中,但 systemd 不断发展的功能,以便客户在以后的版本中进行迁移 |
lvm1 | lvm2 | |
lvm2mirror 和 cmirror | lvm2 raid1 |
3.4. 删除的软件包
在 Red Hat Enterprise Linux 6 和版本 7 中删除了以下软件包,且不再被支持。其中一些软件包可能具有功能等同的替换功能,详情请参阅 第 3.2 节 “软件包替换”。
- amtu
- ant-antlr
- ant-apache-bcel
- ant-apache-bsf
- ant-apache-log4j
- ant-apache-oro
- ant-apache-regexp
- ant-apache-resolver
- ant-commons-logging
- ant-commons-net
- ant-javamail
- ANT-jdepend
- ant-jsch
- ant-junit
- ant-nodeps
- ant-swing
- ant-trax
- apache-jasper
- apache-tomcat-apis
- apr-util-ldap
- arts
- arts-devel
- aspell
- atmel-firmware
- at-spi
- at-spi-python
- audiofile
- audit-viewer
- avahi-tools
- avahi-ui
- avalon-framework
- avalon-logkit
- batik
- brasero
- brasero-libs
- brasero-nautilus
- bsf
- busybox
- b43-fwcutter
- b43-openfwwf
- cas
- cdparanoia
- cdrdao
- cjet
- cloog-ppl
- cluster-cim
- cluster-glue
- cluster-glue-libs
- cluster-glue-libs-devel
- clusterlib
- clusterlib-devel
- cluster-snmp
- cman
- compat-db42
- compat-db43
- compat-libstdc++-296
- compat-libtermcap
- compat-openmpi
- compat-openmpi-psm
- compat-opensm-libs
- compiz
- compiz-gnome
- coreutils-libs
- cracklib-python
- cronie-noanacron
- ctan-cm-lgc-fonts-common
- ctan-cm-lgc-roman-fonts
- ctan-cm-lgc-sans-fonts
- ctan-cm-lgc-typewriter-fonts
- ctan-kerkis-fonts-common
- ctan-kerkis-sans-fonts
- ctan-kerkis-serif-fonts
- ctapi-common
- cvs-inetd
- c2050
- c2070
- dash
- dbus-c+
- dbus-qt
- devhelp
- dmz-cursor-themes
- dtach
- dvd+rw-tools
- eclipse-birt
- eclipse-callgraph
- eclipse-cdt
- eclipse-dtp
- eclipse-emf
- eclipse-gef
- eclipse-changelog
- eclipse-jdt
- eclipse-linuxprofilingframework
- eclipse-mylyn
- eclipse-mylyn-cdt
- eclipse-mylyn-java
- eclipse-mylyn-pde
- eclipse-mylyn-trac
- eclipse-mylyn-webtasks
- eclipse-mylyn-wikitext
- eclipse-nls
- eclipse-nls-ar
- eclipse-nls-bg
- eclipse-nls-ca
- eclipse-nls-cs
- eclipse-nls-da
- eclipse-nls-de
- eclipse-nls-el
- eclipse-nls-es
- eclipse-nls-et
- eclipse-nls-fa
- eclipse-nls-fi
- eclipse-nls-fr
- eclipse-nls-he
- eclipse-nls-hi
- eclipse-nls-hu
- eclipse-nls-id
- eclipse-nls-it
- eclipse-nls-ja
- eclipse-nls-ko
- eclipse-nls-ku
- eclipse-nls-mn
- eclipse-nls-nl
- eclipse-nls-no
- eclipse-nls-pl
- eclipse-nls-pt
- eclipse-nls-pt_BR
- eclipse-nls-ro
- eclipse-nls-ru
- eclipse-nls-sk
- eclipse-nls-sl
- eclipse-nls-sq
- eclipse-nls-sr
- eclipse-nls-sv
- eclipse-nls-tr
- eclipse-nls-uk
- eclipse-nls-zh
- eclipse-nls-zh_TW
- eclipse-oprofile
- eclipse-pde
- eclipse-platform
- eclipse-rcp
- eclipse-rpm-editor
- eclipse-rse
- eclipse-subclipse
- eclipse-subclipse-graph
- eclipse-svnkit
- eclipse-swt
- eclipse-valgrind
- ecryptfs-utils
- evolution-data-server-doc
- fakechroot
- fakechroot-libs
- fence-virt
- fence-virtd-checkpoint
- file-devel
- firstaidkit
- firstaidkit-engine
- firstaidkit-gui
- foghorn
- fop
- gamin-devel
- gamin-python
- gconfmm26
- ggz-base-libs
- glade3
- gnome-disk-utility-libs
- gnome-disk-utility-ui-libs
- gnome-doc-utils
- gnome-doc-utils-stylesheets
- gnome-games
- gnome-media
- gnome-media-libs
- gnome-pilot
- gnome-pilot-conduits
- gnome-power-manager
- gnome-python2-bugbuddy
- gnome-python2-extras
- gnome-python2-gtkhtml2
- gnome-python2-libegg
- gnome-python2-libwnck
- gnome-python2-rsvg
- gnome-themes
- gnome-user-share
- gnome-vfs2-devel
- gnome-vfs2-smb
- graphviz-perl
- groff
- gsl-static
- gstreamer-python
- gthumb
- gtk+extra
- gtkhtml2
- gtksourceview2
- gtk2-engines
- guile
- gvfs-afc
- gvfs-archive
- hal-info
- hal-libs
- hal-storage-addon
- htdig
- hypervkvpd
- ibus-table-additional
- icedax
- icu4j-eclipse
- ipa-pki-ca-theme
- ipa-pki-common-theme
- ipw2100-firmware
- ipw2200-firmware
- jakarta-commons-discovery
- jakarta-commons-el
- jasper
- java_cup
- jdepend
- jetty-eclipse
- jsch
- jzlib
- kabi-yum-plugins
- kcoloredit
- kcoloredit-doc
- kdeadmin
- kdeartwork-screensavers
- kdebase-workspace-akonadi
- kdebase-workspace-python-applet
- kdegames
- kdegraphics
- kde-i18n-Arabic
- kde-i18n-Bengali
- kde-i18n-Brazil
- kde-i18n-British
- kde-i18n-Bulgarian
- kde-i18n-Catalan
- kde-i18n-Czech
- kde-i18n-Danish
- kde-i18n-Dutch
- kde-i18n-Estonian
- kde-i18n-Finnish
- kde-i18n-French
- kde-i18n-German
- kde-i18n-Greek
- kde-i18n-Hebrew
- kde-i18n-Hindi
- kde-i18n-Hungarian
- kde-i18n-Chinese
- kde-i18n-Chinese-Big5
- kde-i18n-Icelandic
- kde-i18n-Italian
- kde-i18n-Japanese
- kde-i18n-Korean
- kde-i18n-Lithuanian
- kde-i18n-Norwegian
- kde-i18n-Norwegian-Nynorsk
- kde-i18n-Polish
- kde-i18n-Portuguese
- kde-i18n-Punjabi
- kde-i18n-Romanian
- kde-i18n-Russian
- kde-i18n-Serbian
- kde-i18n-Slovak
- kde-i18n-Slovenian
- kde-i18n-Spanish
- kde-i18n-Swedish
- kde-i18n-Tamil
- kde-i18n-Turkish
- kde-i18n-Ukrainian
- kdelibs-apidocs
- kdelibs3
- kdelibs3-devel
- kde-l10n-Bengali-India
- kde-l10n-Frisian
- kde-l10n-Gujarati
- kde-l10n-Chhattisgarhi
- kde-l10n-Kannada
- kde-l10n-Kashubian
- kde-l10n-Kurdish
- kde-l10n-Macedonian
- kde-l10n-Maithili
- kde-l10n-Malayalam
- kde-l10n-Marathi
- kdemultimedia
- kdemultimedia-devel
- kdemultimedia-libs
- kdenetwork
- kdesdk
- kdesdk-libs
- kdeutils
- kdewebdev
- kdewebdev-libs
- kernel-debug
- kernel-debug-devel
- kernel-doc
- kiconedit
- kipi-plugins
- kipi-plugins-libs
- kmid
- kmid-common
- konq-plugins-doc
- krb5-appl
- kross-python
- ksig
- ksig-doc
- k3b
- k3b-common
- k3b-libs
- libao-devel
- libart_lgpl-devel
- libbonobo-devel
- libbonoboui-devel
- libburn
- libcroco-devel
- libdc1394
- libdiscid
- libesmtp-devel
- libexif-devel
- libgail-gnome
- libgcj
- libgcj-devel
- libgcj-src
- libglademm24
- libglade2-devel
- libgnomecanvas-devel
- libgnome-devel
- libgnomeui-devel
- libgphoto2-devel
- libgpod
- libgsf-devel
- libgxim
- libIDL-devel
- libidn-devel
- libisofs
- libitm
- libldb-devel
- libmatchbox
- libmtp
- libmusicbrainz
- libmusicbrainz3
- libnih
- liboil
- libopenraw-gnome
- libpanelappletmm
- libproxy-bin
- libproxy-python
- libreport-compat
- libreport-plugin-mailx
- libreport-plugin-reportuploader
- librtas(仅限 32 位)
- libselinux-ruby
- libservicelog(仅限 32 位)
- libsexy
- libtalloc-devel
- libtdb-devel
- libtevent-devel
- libtidy
- libvpd(仅限 32 位)
- libwnck
- libXdmcp-devel
- log4cpp
- lpg-java-compat
- lucene
- lucene-contrib
- lx
- lynx
- MAKEDEV
- matchbox-window-manager
- mcstrans
- mesa-dri1-drivers
- min12xxw
- mod_auth_mysql
- mod_auth_pgsql
- mod_authz_ldap
- mod_dnssd
- mrtg-libs
- mvapich-psm-static
- mx4j
- nspluginwrapper
- openct
- openhpi-subagent
- openssh-askpass
- ORBit2-devel
- osutil
- oxygen-cursor-themes
- PackageKit-yum-plugin
- paktype-fonts-common
- pam_passwdqc
- pbm2l2030
- pbm2l7k
- pcmciautils
- pcsc-lite-openct
- perl-BSD-Resource
- perl-Cache-Memcached
- perl-Class-MethodMaker
- perl-Config- General
- perl-Crypt-PasswdMD5
- perl-Frontier-RPC
- perl-Frontier-RPC-doc
- perl-Perlilog
- perl-String-CRC32
- perl-suidperl
- perl-Text-Iconv
- perl-Time-HiRes
- perl-YAML-Syck
- pessulus
- pilot-link
- pinentry-gtk
- piranha
- pki-symkey
- plpa-libs
- plymouth-gdm-hooks
- plymouth-theme-rings
- plymouth-utils
- policycoreutils-newrole
- policycoreutils-sandbox
- ppl
- prelink
- printer-filters
- psutils
- ptouch-driver
- pulseaudio-module-gconf
- pycairo-devel
- pygobject2-codegen
- pygobject2-devel
- pygobject2-doc
- pygtksourceview
- pygtk2-codegen
- pygtk2-devel
- pygtk2-doc
- pychart
- PyOpenGL [1]
- python-beaker
- python-Coherence
- python-crypto
- python-decoratortools
- python-enchant
- python-formencode
- python-fpconst
- python-genshi
- python-gtkextra
- python-cheetah
- python-ipaddr
- python-iwlib
- python-libguestfs [2]
- python-louie
- python-mako
- python-markdown
- python-markupsafe
- python-matplotlib
- python-myghty
- python-paramiko
- python-paste
- python-paste-deploy
- python-paste-script
- python-peak-rules
- python-peak-util-addons
- python-peak-util-assembler
- python-peak-util-extremes
- python-peak-util-symbols
- python-prioritized-methods
- python-pygments
- python-pylons
- python-qpid
- python-qpid-qmf
- python-repoze-tm2
- python-repoze-what
- python-repoze-what-plugins-sql
- python-repoze-what-pylons
- python-repoze-what-quickstart
- python-repoze-who
- python-repoze-who-friendlyform
- python-repoze-who-plugins-sa
- python-repoze-who-testutil
- python-routes
- python-saslwrapper
- python-sexy
- python-sqlalchemy
- python-tempita
- python-toscawidgets
- python-transaction
- python-turbojson
- python-tw-forms
- python-twisted
- python-twisted-conch
- python-twisted-core
- python-twisted-lore
- python-twisted-mail
- python-twisted-names
- python-twisted-news
- python-twisted-runner
- python-twisted-web
- python-twisted-words
- python-weberror
- python-webflash
- python-webhelpers
- python-webob
- python-webtest
- python-zope-filesystem
- python-zope-interface
- python-zope-sqlalchemy
- pywebkitgtk
- pyxf86config
- qpid-cpp-client
- qpid-cpp-client-ssl
- qpid-cpp-server
- qpid-cpp-server-ssl
- qpid-qmf
- qpid-tests
- qpid-tools
- qt-doc
- raptor
- rgmanager
- rome
- ruby-devel
- ruby-qpid
- ruby-qpid-qmf
- sabayon
- sabayon-apply
- sac
- samba-winbind-clients
- samba4
- samba4-client
- samba4-common
- samba4-dc
- samba4-dc-libs
- samba4-devel
- samba4-pidl
- samba4-swat
- samba4-test
- samba4-winbind
- samba4-winbind-clients
- samba4-winbind-krb5-locator
- saslwrapper
- sat4j
- saxon
- sblim-cmpi-dhcp
- sblim-cmpi-dns
- sblim-cmpi-samba
- sblim-tools-libra
- scenery-backgrounds
- seabios
- selinux-policy-minimum
- selinux-policy-mls
- setools-console
- sgabios-bin
- sigar
- sinjdoc
- smp_utils
- SOAPpy
- sound-juicer
- strigi-devel
- subscription-manager-migration-data
- subversion-javahl
- svnkit
- system-config-firewall
- system-config-firewall-tui
- system-config-network-tui
- system-config-services
- system-config-services-docs
- system-gnome-theme
- system-icon-theme
- TaskJuggler
- tbird
- terminus-fonts
- tidy
- tigervnc-server
- tix
- tkinter
- trilead-ssh2
- tsclient
- tunctl
- TurboGears2
- unicap
- vorbis-tools
- wacomexpresskeys
- wdaemon
- webalizer
- webkitgtk
- ws-commons-util
- wsdl4j
- xfig-plain
- xfsprogs-devel
- xfsprogs-qa-devel
- xguest
- xmldb-api
- xmldb-api-sdk
- xmlgraphics-commons
- xorg-x11-apps
- xorg-x11-drv-acecad
- xorg-x11-drv-aiptek
- xorg-x11-drv-fpit
- xorg-x11-drv-hyperpen
- xorg-x11-drv-keyboard
- xorg-x11-drv-mouse
- xorg-x11-drv-mutouch
- xorg-x11-drv-openchrome
- xorg-x11-drv-penmount
- xorg-x11-server-Xephyr
- xsane
- xz-lzma-compat
- zd1211-firmware
3.5. 删除的驱动程序
以下驱动程序已从 Red Hat Enterprise Linux 6 和版本 7 中删除,且不再被支持。
- 3c574_cs.ko
- 3c589_cs.ko
- 3c59x.ko
- 8390.ko
- acenic.ko
- amd8111e.ko
- avma1_cs-ko [3]
- avm_cs.ko
- axnet_cs.ko
- b1pcmpcia.ko
- bluecard_cs-ko
- bt3c_cs.ko
- btuart_cs.ko
- can-dev.ko
- cassini.ko
- cdc-phonet.ko
- cm4000_cs.ko
- cm4040_cs.ko
- cxgb.ko
- de2104x.ko
- de4x5.ko
- dl2k.ko
- dmfe.ko
- dtl1_cs.ko
- e100.ko
- elsa_cs.ko
- ems_pci.ko
- ems_usb.ko
- fealnx.ko
- fmvj18x_cs.ko
- forcedeth.ko
- ipwireless.ko
- ixgb.ko
- kvaser_pci.ko
- myri10ge.ko
- natsemi.ko
- ne2k-pci.ko
- niu.ko
- nmclan_cs.ko
- ns83820.ko
- parport_cs.ko
- pata_pcmcia.ko
- pcnet_cs.ko
- pcnet32.ko
- pppol2tp.ko
- r6040.ko
- s2io.ko
- sc92031.ko
- sdricoh_cs.ko
- sedlbauer_cs.ko
- serial_cs.ko
- sis190.ko
- sis900.ko
- sja1000_platform.ko
- sja1000.ko
- smc91c92_cs.ko
- starfire.ko
- sundance.ko
- sungem_phy.ko
- sungem.ko
- sunhme.ko
- tehuti.ko
- teles_cs.ko
- tlan.ko
- tulip.ko
- typhoon.ko
- uli526x.ko
- vcan.ko
- via-rhine.ko
- via-velocity.ko
- vxge.ko
- winbond-840.ko
- xirc2ps_cs.ko
- xircom_cb.ko
3.6. 弃用的驱动程序
有关 Red Hat Enterprise Linux 7 中已弃用的驱动程序的详情,请查看红帽客户门户网站中的 最新版本发行注记。
第 4 章 与迁移相关的客户门户网站 Labs
红帽客户门户网站 Labs 是用来帮助您提高性能、排查问题、识别安全问题和优化配置的工具。本附录概述了与迁移相关的红帽客户门户网站 Labs。所有红帽客户门户网站 Labs 都可以通过 http://access.redhat.com/labs/ 访问。
Red Hat Enterprise Linux Upgrade Helper
Red Hat Enterprise Linux Update Helper 是一个工具,它可帮助您将 Red Hat Enterprise Linux 从 6.5/6.6/6.7/6.8/6.9 升级到版本 7.x。您唯一需要提供的信息是升级路径。此应用程序为您提供了:
- 升级 Red Hat Enterprise Linux 的基本步骤
- 为了防止特定于您的升级场景的已知问题需要进行的额外步骤
这个应用程序支持以下升级路径:
- 6.5 到 7.4
- 6.6 到 7.4
- 6.7 到 7.4
- 6.8 到 7.4
- 6.9 到 7.4
Product Life Cycle Checker
Product Life Cycle Checker 是查看红帽产品的生命周期信息的工具,包括正式发行(GA)、支持结束和生命周期终止等。使用这个工具,可以选择多个产品并查看它们的相关日期。