迁移规划指南
迁移至 Red Hat Enterprise Linux 7
摘要
第 1 章 如何升级
1.1. 如何从 Red Hat Enterprise Linux 6 升级
- 查看 Red Hat 是否支持升级您的系统(请参考 第 1.1.1 节 “查看您的支持状态”)。
- 准备升级(请参考 第 1.1.2 节 “准备系统以便升级”)。
- 检查您的系统,查看是否有可能会影响您升级的问题(请参考 第 1.1.3 节 “查看系统是否适合升级”)。
- 运行 Red Hat Upgrade Tool 升级系统(请参考 第 1.1.4 节 “升级您的系统”)。
1.1.1. 查看您的支持状态
- 您的系统为 Red Hat Enterprise Linux 6 用于 x86_64 架构的 Server 变体,所有软件包都是最新版本。请运行以下命令查看:
# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.6 (Santiago) # arch x86_64 # yum upgrade -y
- 系统已注册接收来自订阅管理和经典 RHN 的更新。
- 系统中只有以下软件包组:Minimal、Base、Web Server、DHCP Server、NFS File Server(
@nfs-server)及 Printer Server。升级前请删除其他软件包,并在升级完成后重新安装它们。
1.1.2. 准备系统以便升级
- 备份所有数据
- 使用 Red Hat Upgrade Tool
redhat-upgrade-tool前,应备份整个系统,以避免可能的数据丢失,同时测试您的备份功能是否正常工作。 - 首先测试
- 升级产品系统前,应克隆该系统,并在克隆的系统中测试升级步骤。这样您就可以在不威胁到产品系统的情况下准备升级。
- 转换至 Red Hat Subscription Management
- Red Hat Enterprise Linux 7 必须使用订阅管理工具(
subscription-manager)而不是 RHN Classic 工具(比如rhn_register)注册。有关使用 Subscription Management 的详情,请查看 https://access.redhat.com/articles/433903。开始升级软件包前,yum upgrade命令会输出这个系统如何接收更新的声明。请确定该声明中给出的是subscription-manager而不是 RHN。# yum upgrade Loaded plugins: product-id, security, subscription-manager ...
如果您的 Red Hat Enterprise Linux 6 目前使用 RHN Classic 注册,则必须首先按照 https://access.redhat.com/solutions/11272 所述步骤在 RHN Classic 中取消注册。 - 确保只安装了支持的软件包组
- 这个升级过程只支持以下软件包组:Minimal、Base、Web Server、DHCP Server, NFS File Server(
@nfs-server)和 Print Server。请使用yum grouplist命令查看已安装软件包组。升级前,请删除其他软件包组,并在升级完成后重新安装它们。 - 升级所有软件包
- 使用 Subscription Management 注册您的系统后,请运行以下命令确定您系统中安装的所有软件包均为最新版本。
# yum update -y # reboot
- 必要时可启用附加存储库
- 有些之前在 Red Hat Enterprise Linux 6 中归类为 Base 软件包组的软件包在 Red Hat Enterprise Linux 7 中不再属于该软件包组。您可能需要配置附加存储库,以便正确升级这些软件包。请参考 https://access.redhat.com/site/solutions/912213 在 yum 存储库中启用 Extras 存储库。然后参考 https://access.redhat.com/site/solutions/9892 设置您可以在升级过程中使用的存储库。这种情况的升级命令类似如下:
# redhat-upgrade-tool --device /dev/sdb --addrepo optional=http://hostname/path/to/repo
1.1.3. 查看系统是否适合升级
- 安装并运行 Preupgrade Assistant,即
preupg(请查看 第 1.1.3.1 节 “安装 Preupgrade Assistant” 和 第 1.1.3.2 节 “运行 Preupgrade Assistant”)。 - 修正 Preupgrade Assistant 识别出的所有问题(请查看 第 1.1.3.3 节 “查看结果并修正错误”)。
- 参考《发行注记》、《技术说明》及《迁移规划指南》,以保证了解 Preupgrade Assistant 无法访问的所有更改。这些文件的最新版本位于 https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/。
1.1.3.1. 安装 Preupgrade Assistant
启用 preupgrade 存储库
作为 root 用户运行以下命令,在包含 Preupgrade Assistant 的存储库中订阅您的系统。如果您的系统从 Red Hat Subscription Management 获取更新:# subscription-manager repos --enable rhel-6-server-extras-rpms # subscription-manager repos --enable rhel-6-server-optional-rpms
如果您的系统从 Red Hat Satellite 获取更新:# rhn-channel --add --channel rhel-x86_64-server-extras-6
安装 preupgrade 软件包
作为 root 用户运行以下命令安装所有 preupgrade 软件包。# yum -y install preupgrade-assistant preupgrade-assistant-ui preupgrade-assistant-contents
1.1.3.2. 运行 Preupgrade Assistant
# preupg -y
# preupg -y -u http://hostname:port/submit
1.1.3.2.1. 配置 Preupgrade Assistant 网页用户界面
警告
httpd)实例,以及对 /etc/httpd/conf.d 目录的大量更改。如果您不愿意将系统中的数据暴露给网络,或者要避免在要升级的系统中添加过多软件包,则不要按照这个步骤操作。反之,请将 /root/preupgrade/results.html 文件复制到有图形用户界面的机器中,并使用网页浏览器查看。
安装所需软件包
# yum -y install httpd preupgrade-assistant-ui
更改上传配置
使用默认专用预升级配置更改公共配置。# cd /etc/httpd/conf.d # mv 99-preup-httpd.conf 99-preup-httpd.conf.private # cp 99-preup-httpd.conf.public 99-preup-httpd.conf
这样就可以让 Preupgrade Assistant 网页用户界面在本地系统的所有网络接口中使用,默认是通过 TCP 端口 8099 工作。如果您想要通过类似preupg-ui.example.com:8099的主机名而不是类似192.168.99.1:8099的 IP 地址访问 Preupgrade Assistant 网页用户界面,还可以编辑新/etc/httpd/conf.d/99-preup-httpd.conf中的NameVirtualHost变量设定主机名。更改防火墙和 SELinux 配置
临时将 SELinux 设定为 permissive 模式,并允许流量通过 TCP 端口 8099。# setenforce 0 # iptables -I INPUT -m state --state NEW -p tcp --dport 8099 -j ACCEPT
重启网页服务器
# service httpd restart
配置或禁用认证
在网页浏览器中导航至http://192.168.99.1:8099/(如果在第二步中指定主机名,则可以在这里使用主机名)。此时会提示您输入详情创建新管理用户,或者禁用认证。
-u http://hostname:port/submit 选项的 preupg 命令。
1.1.3.3. 查看结果并修正错误
preupg 后,会在标准输出中显示结果概述。详细的结果会默认以 results.html 格式保存在 /root/preupgrade 目录中。您还可以将结果上传至 Preupgrade Assistant 网页用户界面与多个 preupg 运行结果进行对比,以修正可能的迁移问题。
PASS 或者 FIXED 前不应升级。
表 1.1. 退出代码
|
退出代码
|
定义
|
|
PASS
|
一切正常,可以升级。
|
|
FAIL
|
升级风险极大。不可能进行就地升级。
|
|
NEEDS_ACTION
|
升级风险很高。升级前需要管理员进行一些操作。
|
|
NEEDS_INSPECTION
|
升级风险为中到低度。升级应该可以成功,但可能会造成系统无法全面正常工作。
|
|
FIXED
|
自动完成升级所需变更。
|
|
INFORMATIONAL
|
报告中有关于这个项目很有用但并不关键的信息。
|
|
NOT_APPLICABLE
|
为没有安装在您系统中的项目进行预升级检查。
|
|
ERROR
|
预升级工具检测到一些问题。请向 Red Hat Support 报告此类问题。
|
1.1.4. 升级您的系统
警告
安装该工具
# yum -y install redhat-upgrade-tool
禁用存储库
# yum -y install yum-utils # yum-config-manager --disable
运行该升级
升级过程需要访问 Red Hat Enterprise Linux 7 软件包。您可以指定网络中或挂载的设备或 ISO 映像中的存储库位置,如下所示。# redhat-upgrade-tool --network 7.0 --instrepo repo_location
# redhat-upgrade-tool --device device_path
# redhat-upgrade-tool --iso iso_path
重启
提示时,请重启该系统。等待升级完成
系统重启后,升级会耗时几分钟或几小时,具体要看安装的软件包数量。执行后升级任务
执行 Preupgrade Assistant 结果中显示的所有后升级任务。Preupgrade Assistant 为标记为FIXED的项目所生成的脚本会在升级完成后自动运行。检查系统状态
请检查系统的订阅是否已更新,这是升级过程的一部分。# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.0 (Maipo) # yum repolist Loaded plugins: product-id, subscription-manager repo id repo name status rhel-7-rpms Red Hat Enterprise Linux 7 Server (RPMs) 4,323
如果未正确更新您的 repolist,则请执行以下命令:# subscription-manager remove --all # subscription-manager unregister # subscription-manager register # subscription-manager attach --pool=poolID # subscription-manager repos --enable=repoID
升级所有软件包
运行以下命令以确保所有软件包均为最新版本:# yum upgrade -y # reboot
第 2 章 主要更改以及迁移注意事项
2.1. 系统限制
- 最多 3 TB 内存(理论极限:64 TB)
- 最多 160 个逻辑 CPUs(理论极限:5120 个逻辑 CPUs)
- 最多 2 TB 内存(理论极限:64 TB)
- 最多 128 个逻辑 CPUs(理论极限:2048 个逻辑 CPUs)
- 最多 3 TB 内存
- 最多 101 个逻辑 CPU
2.2. 安装和引导
2.2.1. Anaconda
- 已将 Anaconda 恢复至版本 anaconda-21.48.22.31-1.el7。这个版本包括大量 bug 修复和新功能。
- Bug 修复
- 值得关注的变化
- https://bugzilla.redhat.com/show_bug.cgi?id=1164660 [RFE] 为在 Anaconda kickstart 中使用添加“创建所需分区”。
- https://bugzilla.redhat.com/show_bug.cgi?id=1120421 [RFE] 添加对配置缓存逻辑卷的支持
- https://bugzilla.redhat.com/show_bug.cgi?id=1169991 RFE: 安装程序环境中的 enable spice-vdagent
- [RFE] LDL 底层格式化磁盘的 Anaconda 警告。
- https://bugzilla.redhat.com/show_bug.cgi?id=1170656 [RFE] 对 LDL 底层格式化磁盘进行 CDL 格式化的 Anaconda 动作。
- https://bugzilla.redhat.com/show_bug.cgi?id=1207747 [RHEL7 RFE] 使用 kexec 在 RHEL 安装过程中重启。
- https://bugzilla.redhat.com/show_bug.cgi?id=1217110 [RFE] 包括使用自定义选项创建 xfs 的 mkfsoptions 。
- https://bugzilla.redhat.com/show_bug.cgi?id=1057271 [FEAT RHEL7.1]: RFE: 支持 anaconda 自动使用 LABEL=OEMDRV 提供 ks.cfg。
- https://bugzilla.redhat.com/show_bug.cgi?id=1190685 在 RHEL 7 中请求 oscap-anaconda。
2.2.2. 新引导装载程序
表 2.1. 建议最小分区大小
| 分区 | BIOS & MBR | BIOS & GPT | UEFI & GPT |
|---|---|---|---|
/boot | 500 MB | ||
/ | 10 GB | ||
| swap | 至少是 RAM 的两倍。详情请查看《Red Hat Enterprise Linux 7 安装指南》中的《6.10.4.5. 建议分区方案》。 | ||
| 引导装载程序 | 无(在分区表和首个分区之间安装) | 1 MB(BIOS Boot 分区) | 200 MB(EFI 系统分区) |
force 选项将 GRUB2 安装到分区中,或者使用备用的引导装载程序,但前者有可能破坏文件系统。有关备用引导装载程序列表请参考《Red Hat Enterprise Linux 7 安装指南》,网址 http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/。
# grub2-mkconfig -o /boot/grub2/grub.cfg
2.2.3. 新的 Init 系统
2.2.3.1. 向后兼容性
- 标准
/etc/init.d/servicename命令(start,stop,status)仍可使用。但 Red Hat 推荐使用/usr/sbin/serviceservicename命令,因为可将其直接转到 systemd,而不是使用传统的 init 脚本。 - 运行级别支持将受到限制。所有 SysV 运行级别都与 systemd 目标映射,但不是所有 systemd 目标都与 SysV 运行级别映射。因此当前运行级别中的一些检查将返回
N(位置运行级别)。Red Hat 建议避免使用运行级别检查,同时使用更有效的 systemd 目标。 - 传统运行级别 2、3 和 4 都默认与
multi-user.targetsystemd 目标映射。用户可通过配置不同的 systemd 目标修改这一行为。 - 服务执行简洁,不会遗留调用服务用户的任何上下文。将无法使用依赖继承的上下文的 Init 脚本。
- systemd 不支持 init 脚本中的附加动作。如果您要求使用
start,stop或者status以外的动作,请将其移动到辅助脚本中。 - 目前 systemd 可在运行时完全解析并采用 Linux 标准规范标头信息。
- 目前所有 init 脚本都采用 5 分钟超时规定以防止系统因 init 脚本停滞而当机。
- systemd 只能停止运行中的服务;未启动的服务也不会在关机时停止。
- chkconfig 工具只显示 SysV 服务及运行级别信息,并可能给出一些误导信息。Red Hat 建议您使用
systemctll命令。 - SysV 服务,即使有 root 特权,也不再允许获取实时调度。
- 服务不再能从 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 systems 相同的方法引导。
2.2.4. 新的安装程序
- 重新设计的图形用户界面更迅速,更灵活,同时需要更少的用户输入。
- 支持 LVM 自动精简配置(thin provisioning)。
- 安装支持 btrfs。(注:btrfs 是 Red Hat Enterprise Linux 7 中的技术预览。)
- 改进的本地化支持。
- 支持直接格式化的以及未分区的设备。
- 支持分组及捆绑网络技术。
- 支持自动选择适当的键盘布局、语言和时区。(这需要互联网连接。)根据探测进行的数值设置可被手动设置的数值覆盖。
- 现在可自动使用由 DHCP 推荐的 NTP 服务器。
- 为
realmdDBus 服务、Active Directory 以及 FreeIPA 整合 kickstart。 - 可在 IBM System z 和 PowerPC 系统以及串口控制台中使用的新文本模式。文本模式提供由图形安装程序提供的功能子集。
- 之前,存储配置要求用户对其存储系统在技术上有深入的了解。在 Red Hat Enterprise Linux 7 中重新设计了存储配置,这样用户只需要输入极少的细节即可配置存储。
- Anaconda 现在使用
inst.repo参数而不是inst.root参数设置网络和其他安装位置。 - 已使用软件选择页面替换了图形安装程序界面中的详细软件包选择。软件被分为环境和附加组件。用户可挑选一个环境以及他们想要使用的附加组件。Kickstart 安装仍可在安装的时候对所有软件包进行选择。
2.2.4.1. 引导参数变化
2.2.4.1.1. 指定引导参数
inst. 作为前缀。目前这个前缀在 Red Hat Enterprise Linux 7 中是可选的:resolution=1024x768 与 inst.resolution=1024x768 的效果完全相同。但这个前缀将在未来的发行本中强制使用,同时没有前缀的参数将被视为弃用。
2.2.4.1.2. 引导参数的变化
2.2.4.1.2.1. 新参数
- 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 替换 FCP(zFCP)适配器设备总线标识符、全球端口名称(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
2.2.4.1.2.2. 更改的参数
- inst.ks.sendmac
- 以前是
kssendmac。在外出 HTTP 请求中添加标头,其中包括所有网络接口的 MAC 地址。这在使用inst.ks=http提供系统时很有帮助。 - nameserver
- 之前的
dns。指定名称服务器地址。这个选项可多次使用。
2.2.4.1.2.3. 弃用的参数
- 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
- 指定
BOOTIF选项,这些选项在使用 PXE 服务器安装时使用。现在可以自动探测。 - ksdevice
- 要在 Kickstart 安装过程中使用的已配置的网络。已使用下表中的不同参数替换这个参数的不同值。
表 2.3. kickstart 参数值
值目前行为未提供尝试使用 DHCP 激活所有设备,除非使用ip或者BOOTIF选项指定某个设备和配置。ksdevice=link已忽略(这与默认行为相同)。ksdevice=bootif已忽略(如指定则默认使用BOOTIF)。ksdevice=ibft已使用 dracut 选项ip=ibft替换。ksdevice=MAC使用BOOTIF=MAC替换。ksdevice=device使用 dracutip选项中的设备说明替换。 - blacklist
- 用来禁用指定驱动程序。现在使用
rd.driver.blacklistdracut 选项处理,其语法如下:rd.driver.blacklist=mod1,mod2,...
- nofirewire
- 禁用 FireWire 接口支持。您可以使用
rd.driver.blacklist选项禁用 FireWire 驱动程序(firewire_ohci):rd.driver.blacklist=firewire_ohci
2.2.4.1.2.4. 已删除参数
- serial
- 这个选项强制 Anaconda 使用
/dev/ttyS0控制台作为输出。现使用console参数指定/dev/ttyS0(或者类似功能)。 - essid, wepkey, wpakey
- 配置的无线网络访问。现已使用 dracut 处理网络配置,但它不支持无线网络,从而让这些选项毫无意义。
- ethtool
- 之前用来配置附加低层网络设置。所有网络设置现已使用
ip选项处理。 - gdb
- 允许您 debug 装载程序。使用
rd.debug替换。 - inst.mediacheck
- 开始安装前确认安装介质。使用
rd.live.check替换。 - ks=floppy
- 指定软驱作为 Kickstart 文件源。现已不再支持软盘作为引导介质。
- display
- 配置远程显示。使用
inst.vnc选项替换。 - utf8
- 使用文本模式安装时添加 UTF8 支持。UTF8 支持现在自动工作。
- noipv6
- 用来禁用安装程序中的 IPv6 支持。IPv6 现已内嵌入内核,这样就不会在黑名单中添加该驱动程序,但也可以使用
ipv6.disabledracut 选项禁用 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.5. firstboot 实施的变化
2.2.6. 引导时挂载行为的变化
/etc/fstab 中指定的所有分区均会启动。这可能会造成系统“启动”并正常工作,同时在没有所需分区的情况下引导。
/etc/fstab 中定义的分区,则引导会失败。如果某个分区不应再无法挂载的情况下造成引导失败,请在 /etc/fstab 中使用新的 nofail 参数。
/dev/critical /critical xfs defaults 1 2 /dev/optional /optional xfs defaults,nofail 1 2
/optional 的设备不会造成引导失败,即使无法成功挂载它们。
2.3. 文件系统布局
/bin,/sbin,/lib和/lib64目录现在位于/usr目录中。/tmp目录目前可作为临时文件存储系统(tmpfs)使用。- 现在使用
/run目录作为临时文件存储系统(tmpfs)。应用程序现在可以采用与/var/run目录的相同方式使用/run。
2.3.1. root 文件系统的新布局
/bin 和 /lib 目录中只包含有限的必要内容以避免延缓引导进程。有些程序必须位于 root(/)层以便挂载 /usr 分区。这样会造成其他程序将其内容分散到多个目录层的情况,例如同时位于 /bin 和 /usr/bin 中。
/bin, /sbin, /lib 和 /lib64 目录移到 /usr 中。因为 /usr 文件系统现在可以使用 initramfs,而不是一定要使用 root 层目录中的程序挂载,因此不再需要将软件包内容分散到两个不同目录层中。这样就可以使用一个小得多的 root 文件系统,让系统可以更有效地共享磁盘空间,同时系统也更容易管理、更灵活且更安全。
/bin 目录现在是一个连接 /usr/bin 的符号链接,/sbin 是连接 /usr/sbin 的符号链接,依此类推。
2.3.1.1. 为升级准备您的文件系统
/usr 目前位于不同的分区,请保证 /usr 分区有足够的空间可以复制 /bin, /sbin, /lib 和 /lib64。
/usr 目前不是位于不同的分区,请保证 / 分区有足够的空间可以对 /bin, /sbin, /lib 和 /lib64 进行恢复复制。
/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
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. 从失败的升级中恢复
# dmesg # journalctl -ab --full
/是否可写入/usr是否可写入/usr是否正确挂载/是否有足够空间/usr是否有足够空间/var是否挂载到 rhelup 工具中
2.3.2. 更换至 /tmp 目录
/tmp 作为临时文件存储系统(tmpfs)的一个挂载点。
/tmp 中的文件,在这种情况下会使用 swap 空间。就是说 /tmp 中的内容在重启后会丢失。
# systemctl enable tmp.mount
# systemctl disable tmp.mount
- 特权进程,比如守护进程,应使用
/run/processname保存临时数据。 - 保存大量数据的进程,或者需要重启后仍保留的数据,应使用
/var/tmp。 - 其他进程应使用
/tmp保存临时数据。
2.3.3. 更换至 /run 目录
重要
/var 目录前将运行时数据保存在 /dev 目录中。在所有主要 Linux 发行本中均应采用 /run,因为 /dev 目录仅用于设备节点。
/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. 系统管理
2.4.1. Red Hat Subscription Manager
- 要迁移准备升级到 RHEL 7 的 RHEL 6 系统,Red Hat Subscription Management Guide 中有详细介绍,请参考 https://access.redhat.com/documentation/en-US/Red_Hat_Subscription_Management/1/html/MigratingRHN/rhn-migration-classic.html。
- 要注册新安装的 RHEL 7 系统,您可以按照 Red Hat Access Labs 注册助手中的说明(https://access.redhat.com/labs/registrationassistant/#/)操作,也可以查看 https://access.redhat.com/documentation/en-US/Red_Hat_Subscription_Management/1/html/RHSM/index.html 中的完整订阅管理器文档。
2.4.2. 默认进程最大值(无限)
/etc/security/limits.d/*-nproc.conf 文件(Red Hat Enterprise Linux 7 中通常为 /etc/security/limits.d/20-nproc.conf)中指定。如果没有这个文件,则可编程决定非 root 用户的最大进程数,如 https://access.redhat.com/solutions/218383 所述。
ulimit -u 命令查看非 root 用户每个 PAM 会话的当前可用进程数。
2.4.3. 配置文件语法
export 命令导出那些文件中定义的值。未使用 export 命令的变量就不会被导出,而是只作为对应初始化脚本中的配置值使用。以下是 /etc/sysconfig/sshd 文件示例:
AUTOCREATE_SERVER_KEYS=YES export SSH_USE_STRONG_RNG=1 export OPENSSL_DISABLE_AES_NI=1
SSH_USE_STRONG_RNG 和 OPENSSL_DISABLE_AES_NI 值导出到 ssh 守护进程的环境中。变量 AUTOCREATE_SERVER_KEYS 是用来告知初始化脚本自动生成 RSA 和 DSA 服务器私钥和公钥。
export 命令将这些值导出到要配置服务的环境中。因此下面的示例 /etc/sysconfig/sshd 文件会将所有这三个值导出到 ssh 守护进程环境中:
AUTOCREATE_SERVER_KEYS=YES SSH_USE_STRONG_RNG=1 OPENSSL_DISABLE_AES_NI=1
2.4.4. 新的日志框架
journald,这是迁移到 systemd 的一部分。journald 为所有服务捕获以下类型的信息:
- syslog 信息
- 内核信息
- 初始化 RAM 磁盘以及早期引导信息
- 发送到标准输出以及标准错误输出的信息
/run/log/journal 目录空间后,会删除最旧的日志文件以便继续记录。
rsyslog 与 journald 并存。会将 journald 收集的数据转发到 rsyslog,后者可进一步进行处理并保存文本日志文件。默认情况下,rsyslog 只保存典型的 syslog 信息的日志字段,但可将其配置为保存可用于 journald 的所有字段。因此 Red Hat Enterprise Linux 7 仍兼容依赖 rsyslog 的应用程序和系统配置。
2.4.5. 本地化设置
systemd 的一部分,已将本地化设置从 /etc/sysconfig/i18n 转移到 /etc/locale.conf 和 /etc/vconsole.conf。
2.4.6. 主机名定义
/etc/sysconfig/network 配置文件中定义。在 Red Hat Enterprise Linux 7 中,作为迁移到新初始化系统(systemd)的一部分,将在 /etc/hostname 中定义 hostname 变量。
2.4.7. Yum 更新
yum group和yum groups现在是顶层命令,这提高了命令行 yum 使用的一致性。例如:之前您需要使用yum groupinfo,现在可以使用yum group info。yum group list现在包含附加可选参数以改变其输出结果。新的选项为language和ids。- 已将
/etc/yum.conf中的group_command参数默认值从compat改为objects。之前yum group install的默认行为是安装所有软件包组成员,同时还要升级之前安装的软件包以及上次升级后添加到组中的所有软件包。新的默认行为是 yum 保留对之前安装软件包的跟踪,同时将作为该组一部分安装的软件包和独立安装的软件包区分开来。 - 已在 yum 中整合了
yum-security和yum-presto插件。 - yum 选择可同时下载多个软件包。
- yum 现在包括对环境组的支持。这可让您安装并删除作为单一条目在环境组中列出的多个软件包组。
- yum 现在可以将库作为软件包处理,这样用户就可以将某个库中的所有软件包作为一个条目对待,比如要安装或者删除那个库中的所有软件包。这个功能由
repository-packages子命令提供。 - yum 现在包含
--disableincludes选项,它可让您禁用配置文件中定义的include声明。您可以使用all值禁用所有include声明,也可以禁用由存储库标识符提供的具体存储库的include声明。 - yum 现在包含
--assumeno选项,它假设对 yum 提出的所有问题的回答都是‘no’。这个选项覆盖--assumeyes选项,但受alwaysprompt所描述行为影响。
$ man yum
2.4.8. RPM Package Manager(RPM)更新
- 现在冲突探测更严格也更准确。由于对冲突敏感性的提升,有些应在 Red Hat Enterprise Linux 6 安装的软件包可能不会在 Red Hat Enterprise Linux 7 中安装。
- 现在,可使用备选方法将与其自身其他版本冲突的软件包设定为 singleton,以便可同时安装同一软件包的多个版本。
- 如果安装的软件包将另一个软件包列为 obsolete,则不会安装第二个软件包。
- 淘汰规则现在包括所有匹配的软件包,不考虑其他属性,比如架构。
- 相依性计算不再考虑未安装或者已被替换的文件,例如使用
--nodocs,--noconfig或者--force选项提供。 - 重建 panicked(
DB_RUNRECOVER)RPM Package Manager 数据库时不再需要手动执行rm -f /var/lib/rpm/__db.。 - 不再支持使用 OpenPGP 3 创建公钥。
--info选项现在每行给出单独的 tag-value 对以提高可读性。所有之前依赖--info格式的脚本都需要重新编写。- spec 解析程序现在更严格也更准确,因此一些之前可以接受的 spec 文件现在可能会无法解析,或者给出警告信息。
- 现在可使用
%license标记 spec 文件中的%files部分,因为即使指定--nodocs也必须安装许可证。 - 版本比较现在支持使用波浪符(
~)运算符以便更好地处理预先发布的软件。例如:foo-2.0~beta1是指比foo-2.0老的版本,这样即使不适用 Release 字段也可以处理这些 upstream 版本问题。 - 已重新编写自动相依性生成程序,使其成为可扩展、可自定义的基于规则的系统,并内置过滤器。
- 现在可查询使用软件包安装的文件(
INSTFILENAMES),文件的硬链接号(FILENLINKS),软件包版本控制系统详情(VCS)以及格式化相依性字符串简写(PROVIDENEVRS、REQUIRENEVRS、CONFLICTNEVRS、OBSOLETENEVRS)。 - 提供大量新命令,其中包括:
rpmkeysrpmdbrpmspecrpmsign
- RPM 软件包管理器现在包含新的小脚本切换,可启用运行时宏扩展或者运行时查询格式扩展。
- 现在可以使用
Requires(pretrans)和Requires(posttrans)正确表示事务前及事务后小脚本相依性。 - RPM Package Manager 现在包括
OrderWithRequires标签,允许用户提供额外的排序信息。这个新标签使用与Requires标签相同的语法,但不生成相依性。如果上述软件包出现在同一事务中,则在计算事务顺序时,将排序提示视为 Requires。 - spec 文件中的连续行及宏扩展不再限制为指定的长度。
- RPM Package Manager 现在可让用于指定 upstream 版本控制程序库信息。
- RPM Package Manager 现在包含
%autosetup宏以便帮助自动化应用补丁的过程。
2.4.9. /etc/ifconfig 新格式
ip addr, ip link),而不是被淘汰的 ifconfig 工具。
2.4.10. 控制组的变化
- 控制组现在是挂载到
/sys/fs/cgroup而不是/cgroup目录中。 - 有些文件系统现在默认挂载。
systemd还不完全支持从libcgroup到systemd的迁移。因此,应只在将进出移动到不是由systemd管理的组时方可使用cgred服务。cgconfig.conf应只能用于配置文件系统或者不是由systemd管理的文件控制程序继承的控制组。
2.4.11. 内核崩溃收集(Kdump)的变化
initrd)以便使用自定义 mkdumprd 脚本捕获内核。在 Red Hat Enterprise Linux 7 中是使用 dracut 生成初始化 ramdisk,这样更容易维护生成的初始化 ramdisk。
- 不再支持
net指令。用户现在必须明确定义ssh或者nfs。 - 不再支持
blacklist选项,反之,用户可以指定rd.driver.blacklist作为其捕获内核的/etc/sysconfig/kdump文件中的一个参数。 - 如果转储到预期的目标失败,
dump_to_rootfs动作替换了默认的mount_root_run_init动作。这个动作不会在kdump服务启动时挂载实际的 root 文件系统、运行 init 脚本并尝试保存 vmcore,而是挂载 root 文件系统并立即在其中保存 vmcore。 - 新的
dracut_args指令可让您在配置 kdump 时指定附加 dracut 参数。 - Kdump 中不再包含
debug_mem_level选项。这个功能已经移动到 dracut 中。用户可以通过将rd.memdebug指定为其捕获内核的/etc/sysconfig/kump文件中的一个参数得到类似的功能。 - 之前使用
options指令包含初始化 ram 文件系统(initramfs)中具体内核模块参数。Red Hat Enterprise Linux 7 中不支持这个方法,反之,用户可以在其捕获内核的/etc/sysconfig/kdump文件中指定相关参数。 - 不再需要或者支持
link_delay和disk_timeout参数,因为 dracut 包含udev,它可以处理之前需要这些参数的情况。 - 所有文件系统后端转储目标都必须在 kdump 服务启动前挂着到崩溃的内核中,并生成初始化 ramdisk 映像。您可以将这些目标添加到
/etc/fstab中以便在引导时自动挂着,这样就可以达到这个目的。 - 如果您指定路径,但不指定目标,同时您指定路径中的所有目录都是独立设备的挂载点,则会为该路径保存 vmcore,而不是设备在该路径挂载的某一点。因此当系统重启是,挂载设备,但无法访问 vmcore,因为该设备是挂载到其位置的上级。Red Hat Enterprise Linux 7 现在回在您指定路径但未指定目标时就这个问题给出警告信息。
2.5. 文件系统格式
2.5.1. 新的默认文件系统:XFS
2.5.1.1. 挂载选项的变化
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.mount 命令或者使用 /etc/fstab 挂载它们时也会接受这些选项。
2.5.2. Btrfs 技术预览
2.5.2.1. Kickstart 安装 btrfs
--fstype 参数的 part 命令以生成使用具体文件系统的分区,比如:
part /mnt/example --fstype=xfs
btrfs 不是 --fstype 参数的有效值。反之,应使用 btrfs 命令定义 btrfs 卷,比如:
btrfs mount_point --data=level --metadata=level --label=label partitions
2.5.3. 延伸的文件系统支持
2.6. 物理存储
2.6.1. 更改引导时的挂载行为
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 快照作为返回机制
警告
/boot 分区中。
- 软件另一个磁盘。具体步骤请参考《Red Hat Enterprise Linux 7 存储管理指南》,网址:http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/。
- 使用 parted 查看现有分区中未分配的剩余空间。
- 使用 lsblk 查看空分区或者可删除成为剩余空间的分区。
- 使用 vgdisplay 查看卷组中未分配给逻辑卷的剩余空间。
- 使用 df 查看有剩余空间的文件系统,并可减少,以便缩小其逻辑卷或者分区作为剩余空间。
- 快照大小不会自动调整。如果您的快照对其分区来说太大,它可能就会无效,同时返回会失败。因此必须在为整个系统生成快照前为该快照分配足够的空间。如果您需要重新定义 root 快照的大小,则在您的原始 root 设备未挂载或者重新定义大小的情况下,需要可作为 root 设备使用的附加设备,比如 Live CD。
- 快照的写时复制设备不是镜像的,同时也是在单一设备中,无论您的系统是否被镜像。如果该设备失败,且您丢失了快照,就不可能返回。Red Hat 建议您使用带 mdraid 的物理卷,或者使用多个快照分割磁盘。使用多个快照会比较慢。
- 在安装过程中出现的崩溃中,该系统会变得无法引导。在这个情况下,Red Hat 建议使用 Live CD 或者 PXE 引导,并在成功引导该系统时整合您的快照。整合步骤请参考 Red Hat Enterprise Linux 7 LVM 文档,网址:http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/。
- 返回会回到
/var/log升级前的状态。为审计需要,Red Hat 建议您开始返回过程前将安装时的日志文件复制到独立位置中。
2.6.3. 使用 targetcli 进行目标管理
2.6.4. 一致的设备名称
/dev/disk/by-*/ 中的 udev 提供)轻松管理系统中的设备。这可让系统管理员识别与设备关联的信息,即使在引导间更改设备名称也没关系。
dmesg 命令显示的 /dev/kmsg 日志现在可为符号链接显示信息,这些符号链接是 udev 为内核设备生成的,其显示格式如下:udev-alias: device_name (symbolic_link symbolic link ...)。例如:
udev-alias: sdb (disk/by-id/ata-QEMU_HARDDISK_QM00001)
/var/log/messages 中。
/etc/default/grub 的 kernel 命令行中添加 udev.alias=1。
2.6.5. LVM 缓存卷
lvmcache manual page。
2.6.6. SAN 磁盘
fipvlan 检查可用性。随着 DRacut 的变动,现在 Anaconda 开始使用 fcoemon。
2.7. 联网
2.7.1. 推荐的命名方法
host.example.com。hostnamectl 工具可允许静态和暂时主机名长度在 64 个字符以内,其中只能包含 a-z、A-Z、0-9、- 和 .。技术上现在的规格可以使用下划线。但因为老的规格禁止使用,所以 Red Hat 不建议在主机名中使用下划线。
.yourcompany)。因此 Red Hat 强烈建议您不要使用未委托给您的域名,即便是专用网络也不要使用,因为这样做可能会造成因为网络配置不同而对域名进行不同的解析,结果是导致网络资源不可用。使用非由您委托的域名还会造成 DNSSEC 部署和维护变得更为困难,因为域名冲突会在 DNSSEC 验证中添加手动配置障碍。
2.7.2. NetworkManager 更新
- nmcli 工具现在支持使用
nmcli con edit和nmcli con modify命令编辑连接。 - 新的文本用户界面(nmtui)提供流畅的控制台工具进行网络配置编辑以及网络连接控制。它替换了 system-config-network-tui 工具。
- 之前 NetworkManager 会忽略它无法识别的网络接口(以太网、Infiniband、WiFi、Bridge、Bond 和 VLAN 以外的接口)。NetworkManager 现在可以识别所有
ip link使用的网络接口,并将这些接口展现在 D-Bus 接口以及类似 nmcli 的客户端中。这为 NetworkManager 提供更接近类似 ip 工具的功能。 - NetworkManager 现在可非破坏性地获取可本机配置的接口所有权,比如以太网、InfiniBand、Bridge、Bond、VLAN 及 Team 接口。如果这些接口是在 NetworkManager 启动前或者重启时配置,则之前配置的连接就会被中断,就是说不再需要
NM_CONTROLLED选项。 - 支持检察网络连接性、热区以及门户。默认禁用这个行为。
- 支持 team 界面。
- 基本上可提供 GRE、macvlan、macvtap、tun、tap、veth 及 vxlan 设备的非本机支持。
- 新的 NetworkManager-config-server 软件包默认提供服务器适应性,比如忽略容器变化,也不生成默认 DHCP 连接。
NetworkManager.conf的新dns=none配置可防止 NetworkManager 修改resolv.conf文件。- 快速用户切换支持。
- 除接口的 MAC 地址之外,支持将某个连接与接口锁定。
nmcli con reload 命令重新载入配置文件的变化。
2.7.3. 新的网络命名方案
eth[0123...] 方式列举,但这些命名不一定会与底盘实际标签对应。有多个网络适配器的现代服务器平台可遇到这些接口的不确定以及不直观的命名。这会影响主板内嵌网络适配器(板上局域网,LOM)和附加(单一或者多接口)适配器。
enp5s0 替换 eth0。
- 方案 1
- 合并固件或者 BIOS 的名称为板载设备提供索引号的名称,例如:
eno1。如果固件信息适用且可用,则 systemd 默认情况下根据这个方案命名接口,同时使用方案 2 作为备选。 - 方案 2
- 合并固件或者 BIOS 的名称提供 PCI 快捷热插拔插槽索引号的名称,例如
ens1。如果固件信息适用且可用,则 systemd 默认情况下根据这个方案命名接口,同时使用方案 3 作为备选。 - 方案 3
- 合并硬件连接器物理位置的名称,例如:
enp2s0。如果固件信息适用且可用,则 systemd 默认情况下根据这个方案命名接口,同时使用方案 5 作为备选。 - 方案 4
- 合并接口的 MAC 地址名称,例如:
enx78e7d1ea46da。默认情况下 systemd 不会根据这个方案命名接口,但如果需要可以启用这个功能。 - 方案 5
- 传统的不可预测内核属性 ethX 命名,例如:
eth0。如果其他所有方法都失败,systemd 就根据这个方案命名接口。
BIOSDEVNAME,或者用户已添加更改内核设备名称的 udevd 规则,则这些规则将替代默认的 systemd 策略。
2.7.4. 新联网程序(ncat)
netcat -P选项使用指定的用户名显示需要认证的代理服务器。这个行为的 ncat 选项是--proxy-auth user[: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选项指定超时前尝试连接的时间。
- 启用在插槽中 debug(之前由
netcat -D提供)。 - 指定 TCP 发送及接受缓存的大小(之前由
netcat -I和netcat -O提供)。 - 指定随机选择的源或者目标端口(之前由
netcat -r提供)。 - 通过 TCP MD5 信号选项、RFC 2385 启用 BGP 会话保护(之前由
netcat -S提供)。 - 指定服务的 IPv4 类型(之前由
netcat -T提供)。 - 指定 UNIX 域插槽使用(之前由
netcat -U提供)。 - 指定要使用的路由表(之前由
netcat -V提供)。 - 不传输数据即进行侦听守护进程扫描。
- 指定发送和接收文本行之间,或者到多个端口的连接之间的间隔。
$ man ncat
2.7.5. Postfix 的变化
- 使用
postscreen守护进程前,确定已执行postfix stop和postfix start命令,以避免pass主要服务问题。 - 不会在
*_tls_CAfile或者*_tls_CApath列表中添加默认由系统提供的 CA 证书。这意味着使用permit_tls_all_clientcerts后,第三方证书不再收到邮件中继权限。如果您的配置要求证书验证,则可设置tls_append_default_CA = yes启用向后兼容行为。 verify服务现在使用默认启用了定期清除的持久缓存。需要提供对删除和顺序运行的支持。要禁用该缓存,请在main.cf中指定空白的address_verify_map参数。要禁用定期清除行为,请将address_verify_cache_cleanup_interval设定为0。- 之前,会在未指定过滤下一个跃点时使用默认的下一个跃点,即
$myhostname。这个默认跃点现在是收件人域。要更改默认下一个跃点,请指定default_filter_nexthop = $myhostname。在使用管道的过滤器中,还会启用 FIFO 传递顺序,而不是鲁棒域选择。 postmulti -e destroy命令不再尝试移除执行postmulti -e create命令后生成的文件。- Postfix 现在要求在使用 Milter
smfi_addrcpt操作添加收件人时提供默认传送状态通知。 - 现在,当所得虚拟别名扩展超过虚拟别名递归或扩展限制后,Postfix 会报告临时传送错误,而不是静默地放弃超出的收件人,并继续传递信息。
- 现在,本地传递代理在向不拥有其自己别名的子别名发送邮件时会保留其父别名的 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:;
- 现在,SASL 机制列表在每次成功完成
STARTTLS后都会重新计算。 - 现在,
smtpd_starttls_timeout默认值为 stress-dependent。 - 现在,域名中附带 secret 的 DNSBL 查询必须在
postscreenSMTP 回复中隐藏那个 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>结尾的输入行转换为 UNIX 格式(<LF>)。 - 默认情况下,SMTP 客户端不再为
MAIL FROM命令添加AUTH=<>。 - 有些之前分级为
fatal的日志信息现在分级为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 协商。详情请查看
postconfman page 中有关日志等级描述。 - 现在,postfix SMTP 服务器总是检查 smtpd_sender_login_maps 表。
- 现在,默认
inet_protocols值为all(同时使用 IPv4 和 IPv6)。为避免未使用全局 IPv6 连接站点的意外性能损失,目前在没有明确设置的情况下,会在main.cf中添加make upgrade和postfix upgrade-configuration命令。 - 现在,默认
smtp_address_preference值为any(随机选择 IPv4 或者 IPv6)。 - SMTP 服务器不再报告拒绝客户端命令的会话,因为没有可用的查找表。要继续接收此类报告,请在
notify_classes参数中添加data类别。 - 已添加
smtpd_relay_restrictions参数。默认情况下,这样会启用permit_mynetworks、permit_sasl_authenticated和defer_unauth_destination。这样可防止由于错误使用smtpd_recipient_restrictions中垃圾邮件过滤器造成的开源中继问题。但如果您的站点使用smtpd_recipient_restrictions配置了复杂的邮件中继策略,则可能会错误地延迟某些邮件的发送。要纠正这个问题,可以删除smtpd_relay_restrictions配置并使用smtpd_recipient_restrictions中已有的策略,或者将smtpd_recipient_restrictions中已有的策略复制到smtpd_relay_restrictions中。
2.7.6. 网络协议
2.7.6.1. 网络文件系统(NFS)
/etc/sysconfig/nfs 文件中启用或者禁用具体的版本,方法是更改 RPCNFSDARGS 参数值。例如:RPCNFSDARGS="-N4.1 -V3" 启用 NFS 3 支持,禁用 NFS 4.1 支持。详情请查看其 man page:
$ man rpc.nfsd
/etc/nfsmount.conf 并使用命令行可更改这个默认行为。详情请查看其 man page:
$ man nfs
$ man nfsmount.conf
2.7.6.1.1. 平行 NFS(pNFS)
2.7.6.2. Apache Web 服务器(httpd)
- 更改代理服务器配置
- 如果 SSL 证书与配置的主机名不匹配,则使用 SSL 后端的 Apache 网页服务器(
httpd)配置现在必须使用SSLProxyCheckPeerName指令。之前并不验证代理服务器后端 SSL 证书中的主机名。 - 新的控制机制
- 由于 Red Hat Enterprise Linux 不再使用 SysV 初始化脚本,因此用来控制
httpd服务的命令也因此不同。Red Hat 现在建议您使用apachectl和systemctl命令,而不是service命令。例如:如果您之前使用service httpd graceful,Red Hat 现在建议您使用apachectl graceful。 - 更改的默认子命令行为
- httpd 的
systemd单元文件为reload和stop子命令定义不同的行为。特别是reload子命令现在温和地重新载入该服务,同时stop现在也默认温和地停止该服务。 - 硬编码默认配置
- httpd 之前的版本提供详尽的配置文件,列出所有配置设置及其默认值。在默认配置文件中很多常用配置设置已不再特别进行配置,现在默认设置已采用硬编码。现在默认配置文件尽量采用较少的内容,结果是更容易进行管理。手册中给出了所有设置的硬编码默认值,该手册默认是按照在
/usr/share/httpd中。 - 新的多进程模型模块
- Red Hat Enterprise Linux 之前的发行本提供几个多进程模型(
prefork和worker)作为不同的 httpd 二进制库。Red Hat Enterprise Linux 7 使用单一二进制库并将这些多进程模型作为可载入模块提供:worker、prefork(默认)以及event。编辑/etc/httpd/conf.modules.d/00-mpm.conf文件选择要载入的模块。 - 目录变化
- 在这个 httpd 的这个更新后的版本中移走了很多目录,或者以后都不再提供。
- 之前安装在
/var/cache/mod_proxy中的内容已移动到/var/cache/httpd的proxy或者ssl子目录下。 - 之前安装在
/var/www中的内容已移动到/usr/share/httpd中。 - 之前安装在
/var/www/icons中的内容已移动到/usr/share/httpd/icons中。这个目录包含一组用于设定目录索引的图标。 - httpd 手册的 HTML 版面之前安装在
/var/www/manual中,现已移动到/usr/share/httpd/manual中。 - 自定义多语言 HTTP 出错页面之前是安装在
/var/www/error中,现已移动到/usr/share/httpd/error中。
- suexec 的变化
- 不再将
suexec二进制项目的用户标识符在安装时设定为 root,而是使用文件系统功能字节应用更具限制性的权限。这样可提高 httpd 服务的安全性。另外,suexec现在会向 syslog 发送日志信息,而不是使用/var/log/httpd/suexec.log文件记录。默认在/var/log/secure文件中显示发送到 syslog 的信息。 - 模块接口兼容性的变化
- 更改 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/显示的“欢迎页面”。
- 配置兼容性变化
- httpd 的这个版本与之前的版本(2.2)的配置语法兼容。配置文件需要在可以与这个更新后的 httpd 版本合用前更新语法。有关版本 2.2 与版本 2.4 之间语法变化的详情请查看 Apache 文档。
2.7.6.3. Samba
2.7.6.4. BIND
/etc/sysconfig/named 中的 ROOTDIR 环境变量,使其指向 chroot 环境位置。要运行通常要求的 named 服务(不是在 chroot 环境中),可删除 bind-chroot 软件包,或手动编辑 /etc/sysconfig/named 文件中的 ROOTDIR 环境。
named 服务的运行方式。反之,它会安装一个新服务 named-chroot,可使用 systemctl 命令单独启动和停止该服务,如下。
# systemctl start named-chroot.service
# systemctl stop named-chroot.service
named-chroot 服务不能与 named 服务同时运行。
2.8. 集群和高可用性
2.8.1. Luci 替换限制(pcs)
luci 可控制 Red Hat Enterprise Linux 5 和 Red Hat Enterprise Linux 6 高可用性集群。
luci 并使用 pcs 替换。luci 只能控制 Red Hat Enterprise Linux 7 基于 pacemaker 的集群。它不能控制 Red Hat Enterprise Linux 6 基于 rgmanger 的高可用性集群。
2.8.2. Keepalived 替换 Piranha
keepalived 服务,该服务可提供 piranha 中可使用的功能以及附加功能。因此在 Red Hat Enterprise Linux 7 中使用 keepalived 服务取代 piranha。
/etc/keepalived/keepalived.conf 文件配置 keepalived。本文件应使用的配置格式及语法请参考 keepalive.conf man page:
$ man keepalived.conf
2.8.3. 在线迁移限制
2.8.4. 新资源管理程序(Pacemaker)
- 检测并回复机器和应用程序层失败。
- 支持很多冗余配置。
- 支持仲裁和资源驱动集群。
- (当多台机器失败时)处理仲裁损失的可配置策略
- 支持指定应用程序启动及关闭顺序,不考虑应用程序所在及机器。
- 支持指定一定要或者一定不要在同一台机器中运行的应用程序。
- 支持指定应在多台机器中激活的应用程序。
- 支持应用程序的多种模式,比如 master 和 slave。
- 可证明地正确响应任何失败或者集群状态。
- 状态存在前,可离线测试对所有状况的响应。
2.8.5. 新功能:资源代理
2.8.6. 更改的仲裁实施
votequorum 提供,且在大多数使用案例中替换了 qdiskd。扩展(wait_for_all, auto_tie_breaker 和 last_man_standing)在 votequorum.5 man page 中有详细的说明。
$ man 5 votequorum
2.9. 桌面
2.9.1. 新的默认桌面环境(经典 GNOME)
- 顶栏
- 页面顶部栏目中显示 和 菜单。用户可通过 菜单访问系统中的应用程序,该菜单将这些应用程序分成若干类。这个菜单还可以让用户访问新的 活动概述,以便您查看打开的窗口、工作站以及所有信息或者系统通知。菜单就在顶栏的 菜单旁边。您可以使用它快速访问主要的文件夹,比如
下载或者图片文件夹。 - 任务栏
- 任务栏显示在屏幕的底部,包含窗口列表、通知图标以及目前工作站的简短识别符和可用工作站综述。
2.9.2. 新桌面环境(GNOME 3)
- 顶栏
- 使用屏幕顶部水平栏可访问一些基本 GNOME Shell 功能,比如 活动概述、时钟、日历、系统状态图标以及系统菜单。
- 活动概述
- 活动概述可方便您查看打开的窗口、工作站以及所有信息或者系统通知。搜索栏是查找文件、启动应用程序或者打开配置工具的最简单途径。左侧的波折号为您显示您最常用的应用程序以便您可以更迅速地访问您最常用的工具。
- 信息托盘
- 信息托盘是在屏幕底部以条状显示。它为您显示等待处理的通知以便您了解系统正在发生的事情。
2.9.3. KDE Plasma Workspaces (KDE)
- 全新的一致外观,默认采用 Oxygen 类型。
- 更新的通知系统(可移动且可关闭的通知,附带速度图),在面板中有虚拟进度。
- 目前在 System Settings 中可进行工作站配置。
- Activity Manager 提供添加、删除、保存、恢复动作以及在动作间切换的功能。
- 优化 core 及用户界面元素以便提高性能。
- 自适应电源管理,使用接话的用户界面及方便的配置切换。
- 新的 Print Manager 可简化打印机配置,并提供快速、准确的打印机状态报告。
- 更新的 Dolphin File Manager 附带导航按钮、分页浏览以及元数据处理改进。
- 更新的终端模拟器(Konsole)附带改进的标签和窗口控制以及改进的互操作性。
- 新的显示管理器 KScreen 可自动记住并回复显示配置,其中包括分辨率和相对位置。
- 新的小应用程序 Plasma Network Manager,可让您轻松控制网络并配置网络连接。
2.10. 开发人员工具
2.10.1. Red Hat Developer Toolset
2.10.2. 兼容性程序库
表 2.4. 兼容性程序库
|
程序库
|
最新发行本使用此界面作为默认界面
|
|---|---|
|
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(仅在自选库中)
|
2.11. 安全性及访问控制
2.11.1. 新防火墙(firewalld)
firewalld 及其配置工具与 iptables 互动:firewall-config、firewall-cmd 和 firewall-applet 不包含在 Red Hat Enterprise Linux 7 的默认安装中。
firewalld 是动态的,所以可随时更改其配置,并立即实施。防火墙的所有部分都不需要重新载入,因此对现有网络连接不会产生意外中断。
- Firewalld 配置详情不再保存在
/etc/sysconfig/iptables中,而是保存在/usr/lib/firewalld和/etc/firewalld目录的不同文件中。 - 在 Red Hat Enterprise Linux 6 中,每次配置更改时都会删除防火墙系统并重新采用所有规则,而
firewalld只采用配置更改的部分。结果是firewalld可以在运行时并不丢失显示连接的情况下更改设置。
2.11.1.1. firewalld 的迁移规则
重要
iptables 或者 ip6tables,而不是改用 firewalld 可能会更恰当。
- 使用图形 system-config-firewall 工具配置规则。这个工具将配置详情保存在
/etc/sysconfig/system-config-firewall文件中,并在/etc/sysconfig/iptables和/etc/sysconfig/ip6tables文件中为iptables和ip6tables生成配置。 - 手动编辑
/etc/sysconfig/iptables和/etc/sysconfig/ip6tables文件(可以从头开始,也可以编辑由 system-config-firewall 生成的初始配置)。
/etc/sysconfig/system-config-firewall 中的配置迁移到 firewalld 的默认区中。
$ firewall-offline-cmd
/etc/sysconfig/iptables 或者 /etc/sysconfig/ip6tables,安装 firewalld 后就必须使用 firewall-cmd 或者 firewall-config 创建新的配置,或者禁用 firewalld,并继续使用原来的 iptables 和 ip6tables 服务。有关生成新配置或者禁用 firewalld 的详情请参考《Red Hat Enterprise Linux 7 安全指南》,网址:http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/。
2.11.2. 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 目录中名称按字典顺序在 49-polkit-pkla-compat 前面的 .rules 文件覆盖。确保原有文件不被覆盖的最简单方法是所有其他 .rules 文件都采用比 49 这个数字大的名称。
2.11.3. 用户识别符的更改
500。在 Red Hat Enterprise Linux 中,基本用户识别符为 1000。这个变化涉及在升级过程中替换 /etc/login.defs 文件。
/etc/login.defs 文件,则会在升级过程中替换该文件。将基本用户识别符号改为 1000,同时为新用户分配的识别符在 1000 以上(包括 1000)。在这个变化之前创建的用户账户仍保留其现有用户识别符,并照常工作。
/etc/login.defs 文件,则在升级过程中不会替换该文件,同时基本识别符数字仍保留为 500。
2.11.4. libuser 的变化
libuser 程序可不再支持包含 ldap 和 files 模块,或者同时包含 ldap 和 files 模块的配置。合用这些模块的结果是造成处理密码时歧义,同时此类配置现在回在初始化过程中被拒绝。
libuser 管理 LDAP 中的用户或者组,则必须删除配置文件(默认为 /etc/libuser.conf)modules 和 create_modules 指令中的 files 和 shadow 模块。
第 3 章 软件包、功能及支持变化
3.1. 新软件包
3.1.1. Preupgrade Assistant
preupg)会在对系统进行任何更改前,检查您在将 Red Hat Enterprise Linux 6 升级 Red Hat Enterprise Linux 7 的过程中可能会遇到的问题。这样可帮助您在实际开始升级前评估成功升级到 Red Hat Enterprise Linux 7 的机率。
- 为所有探测到的迁移问题提供系统分析报告,并附带推荐的解决方案。
- 如果不适合本地升级,则提供“克隆”系统要使用的数据。
- 提供后升级脚本解决本地升级后的复杂问题。
3.1.2. Red Hat Upgrade Tool
- Red Hat Upgrade Tool 从磁盘或者服务器提取软件包和升级映像、为升级准备系统、并重启该系统。
- 重启后的系统探测可用的升级软件包并使用 systemd 和 yum 升级系统中的软件包。
- Red Hat Upgrade Tool 在升级后进行清理并将该系统重启至升级后的操作系统。
3.1.3. Chrony
Chrony 是一个由 chrony 软件包提供的新 NTP 客户端。它替代参考实施(ntp),在 Red Hat Enterprise Linux 7 中作为默认 NTP 实施。但它不支持可在 ntp 中使用的所有功能,因此鉴于兼容性原因仍提供 ntp。如果您需要 ntp,就必须明确地删除 chrony 并安装 ntp。
Chrony 的计时算法在 ntp 实施中有几个优势。
- 更迅速、更准确的同步。
- 更大范围的频率校正。
- 更好地响应时钟频率中的快速变化。
- 初始同步后无时钟步进。
- 在中等网络连接中可很好地工作。
3.1.4. HAProxy
HAProxy 是一个 TCP/HTTP 反向代理服务器,非常适合搞可用环境。它需要几种资源,同时其由事件驱动的架构可让它同时轻松处理数百个事例中的数千个连接,同时不会对系统稳定性产生影响。
HAProxy 的详情请查看其 man page,也可以参考 /usr/share/doc/haproxy 目录中安装的 haproxy 软件包所提供的文档。
3.1.5. Kernel-tools
3.1.6. NFQUEUE(libnetfilter_queue)
NFQUEUE iptables 目标,该目标指定侦听用户空间应用程序将查询指定队列中的数据包,并决定如何处理该数据包。
3.1.7. SCAP Security Guide
3.2. 软件包替换
表 3.1. 已替换的软件包
|
已删除软件包
|
替换/替代
|
注
|
|---|---|---|
|
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 分支。
|
|
cpuspeed
|
kernel,kernel-tools(cpupower,cpupower.service)
|
现在在
/etc/sysconfig/cpupower 中配置。不再包括用户空间缩放守护进程,必要时请使用内核调控器。
|
|
nc
|
nmap-ncat
| |
|
procps
|
procps-ng
| |
|
openswan
|
libreswan
| |
|
arptables_jf
|
arptables
| |
|
gcj
|
OpenJDK
|
请勿使用 gcj 将 Java 程序编译为原生代码。
|
|
使用 32 位 x86 作为安装架构
|
64 位 x86
|
程序仍根据兼容库运行。在 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 网页应用程序栈
| | |
|
openmotif22
|
motif
|
根据现有 Motif 版本重建应用程序。
|
|
webalizer 网页分析工具
| |
其他网页分析工具更高端。
|
|
compiz 窗口管理程序
|
gnome-shell
| |
|
Eclipse 开发者工具包
| |
目前在 Developer Toolset 中提供 Eclipse。
|
|
Qpid 和 QMF
| |
MRG 中提供 Qpid 和 QMF。
|
|
amtu
| |
常用标准认证不再需要这个工具。
|
|
pidgin 前端
|
empathy
| |
|
perl-suidperl
|
perl
|
在 upstream 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 变体。
| |
|
abyssinica-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 | 详情请查看 第 2.6.3 节 “使用 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 | 详情请查看 第 2.6.3 节 “使用 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-sis, xorg-x11-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. 过时的软件包
表 3.2. 软件包淘汰
|
功能/软件包
|
替代品
|
迁移记录
|
|---|---|---|
|
ext2 文件系统支持
|
ext3, ext4
|
可在 ext2 和 ext3 文件系统中使用 ext4。
|
|
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
|
Red Hat Enterprise Linux 7.0 将继续使用 cgutils,但 systemd 改进了让用户在今后的发行本中进行迁移的能力。
|
|
lvm1
|
lvm2
| |
|
lvm2mirror 和 cmirror
|
lvm2 raid1
| |
3.4. 已删除软件包
- 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-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 (已从 Red Hat Enterprise Linux 7.0 中删除,在 Red Hat Enterprise Linux 7.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 (只为 Red Hat Enterprise Linux 7.0 移至 Optional 存储库)
- 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
- sendmail
- sendmail-cf
- 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.4.1. 已删除驱动程序
- 3c574_cs.ko
- 3c589_cs.ko
- 3c59x.ko
- 8390.ko
- acenic.ko
- amd8111e.ko
- axnet_cs.ko
- can-dev.ko
- cassini.ko
- cdc-phonet.ko
- cxgb.ko
- de2104x.ko
- de4x5.ko
- dl2k.ko
- dmfe.ko
- e100.ko
- ems_pci.ko
- ems_usb.ko
- fealnx.ko
- fmvj18x_cs.ko
- forcedeth.ko
- ixgb.ko
- kvaser_pci.ko
- myri10ge.ko
- natsemi.ko
- ne2k-pci.ko
- niu.ko
- nmclan_cs.ko
- ns83820.ko
- pcnet_cs.ko
- pcnet32.ko
- pppol2tp.ko
- r6040.ko
- s2io.ko
- sc92031.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
- 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
附录 A. 修订历史
| 修订历史 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 修订 0.2-79.2 | Sun Jul 24 2016 | ||||||||
| |||||||||
| 修订 0.2-79.1 | Sun Jul 24 2016 | ||||||||
| |||||||||
| 修订 0.2-79 | Thu Nov 12 2015 | ||||||||
| |||||||||
| 修订 0.2-78 | Wed Feb 18 2015 | ||||||||
| |||||||||
| 修订 0.2-77 | Tue Feb 17 2015 | ||||||||
| |||||||||
| 修订 0.2-75 | Tue Feb 17 2015 | ||||||||
| |||||||||
| 修订 0.2-73 | Mon Feb 09 2015 | ||||||||
| |||||||||
| 修订 0.2-72 | Mon Feb 09 2015 | ||||||||
| |||||||||
| 修订 0.2-71 | Fri Feb 06 2015 | ||||||||
| |||||||||
| 修订 0.2-70 | Thu Feb 05 2015 | ||||||||
| |||||||||
| 修订 0.2-69 | Wed Feb 04 2015 | ||||||||
| |||||||||
| 修订 0.2-68 | Tue Feb 03 2015 | ||||||||
| |||||||||
| 修订 0.2-67 | Thu Dec 18 2014 | ||||||||
| |||||||||
| 修订 0.2-66 | Thu Dec 11 2014 | ||||||||
| |||||||||
| 修订 0.2-65 | Mon Dec 08 2014 | ||||||||
| |||||||||
| 修订 0.2-64 | Fri Dec 05 2014 | ||||||||
| |||||||||
| 修订 0.2-63 | Wed Dec 03 2014 | ||||||||
| |||||||||
| 修订 0.2-61 | Wed Dec 03 2014 | ||||||||
| |||||||||
| 修订 0.2-60 | Tue Dec 02 2014 | ||||||||
| |||||||||
| 修订 0.2-59 | Thu Nov 20 2014 | ||||||||
| |||||||||
| 修订 0.2-58 | Wed Nov 19 2014 | ||||||||
| |||||||||
| 修订 0.2-57 | Tue Nov 18 2014 | ||||||||
| |||||||||
| 修订 0.2-56 | Thu Nov 6 2014 | ||||||||
| |||||||||
| 修订 0.2-55 | Wed Nov 6 2014 | ||||||||
| |||||||||
| 修订 0.2-53 | Wed Nov 5 2014 | ||||||||
| |||||||||
| 修订 0.2-52 | Fri Oct 31 2014 | ||||||||
| |||||||||
| 修订 0.2-51 | Tue Sep 30 2014 | ||||||||
| |||||||||
| 修订 0.2-49 | Tue Jul 01 2014 | ||||||||
| |||||||||
| 修订 0.2-48 | Wed Jun 25 2014 | ||||||||
| |||||||||
| 修订 0.2-47 | Fri Jun 13 2014 | ||||||||
| |||||||||
| 修订 0.2-46 | Fri Jun 06 2014 | ||||||||
| |||||||||
| 修订 0.2-45 | Mon Jun 02 2014 | ||||||||
| |||||||||
| 修订 0.2-42 | Tue May 27 2014 | ||||||||
| |||||||||
| 修订 0.2-36 | Mon May 12 2014 | ||||||||
| |||||||||
| 修订 0.2-32 | Wed Apr 30 2014 | ||||||||
| |||||||||
| 修订 0.2-30 | Mon Apr 14 2014 | ||||||||
| |||||||||
| 修订 0.2-29 | Mon Apr 07 2014 | ||||||||
| |||||||||
| 修订 0.2-28 | Fri Apr 04 2014 | ||||||||
| |||||||||
| 修订 0.2-20 | Fri Mar 28 2014 | ||||||||
| |||||||||
| 修订 0.2-13 | Mon Mar 17 2014 | ||||||||
| |||||||||
| 修订 0.2-9 | Fri Mar 14 2014 | ||||||||
| |||||||||
| 修订 0.2-5 | Thu Mar 06 2014 | ||||||||
| |||||||||
| 修订 0.2-4 | Thu Mar 06 2014 | ||||||||
| |||||||||
| 修订 0.2-2 | Wed Mar 05 2014 | ||||||||
| |||||||||
| 修订 0.2-0 | Tue Mar 04 2014 | ||||||||
| |||||||||
| 修订 0.1-5 | Wed Dec 18 2013 | ||||||||
| |||||||||
| 修订 0.1-4 | Thu Dec 05 2013 | ||||||||
| |||||||||
| 修订 0.1-3 | Thu Nov 14 2013 | ||||||||
| |||||||||
| 修订 0.1-2 | Wed Jan 23 2013 | ||||||||
| |||||||||
| 修订 0.1-1 | Wed Jan 16 2013 | ||||||||
| |||||||||
