Linux:在 RHEL/CentOS 7.0 中安装 LAMP

跳过 LAMP 的介绍,因为我认为你们大多数已经知道了。这个教程会集中在如何在升级到 Apache 2.4 的 Red Hat Enterprise Linux 7.0 和 CentOS 7.0 中安装和配置 LAMP:Linux、Apache、 MariaDB、 PHP/PhpMyAdmin。

Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

在 RHEL/CentOS 7.0 中安装 LAMP

前置要求

根据使用的发行版是 RHEL 还是 CentOS 7.0,按照下面的链接来进行最小化的系统安装,网络使用静态 IP。

对于 RHEL 7.0

对于 CentOS 7.0

第一步:使用基本配置安装apache

1、在完成最小化系统安装,并在 RHEL/CentOS 7.0 上配置静态 IP 后,就可以使用下面的命令从官方仓库安装最新的 Apache 2.4 httpd 服务了。

# yum install httpd
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

安装 apache 服务

2、安装完成后,使用下面的命令来管理apache守护进程,因为 RHEL 和 CentOS 7.0 都将 init 脚本从 SysV 升级到了systemd,所以同时你还可以使用 SysV 脚本和 Apache 脚本来管理服务。

# systemctl status|start|stop|restart|reload httpd
或者
# service httpd status|start|stop|restart|reload
或者
# apachectl configtest| graceful
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

启动apache服务

3、在使用 systemd 初始化脚本来启动 apache 服务后,要用 firewall-cmd打开 RHEL/CentOS 7.0 防火墙规则, 这是通过 firewalld 守护进程管理 iptables 的默认命令。**

# firewall-cmd --add-service=http

注意:上面的命令会在系统重启或者 firewalld 服务重启后失效,因为它是即时的规则,它不会永久生效。要使 iptables 规则在 fiewalld 中持久化,使用 –permanent选项并重启 firewalld 服务来生效。(LCTT 译注:也可以不重启 firewalld 服务,而是再执行一遍不带 –permanent选项的命令。)

# firewall-cmd --permanent --add-service=http
# systemctl restart firewalld
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

在 CentOS 7 中启用防火墙

下面是 firewalld 其他的重要选项:

# firewall-cmd --state
# firewall-cmd --list-all
# firewall-cmd --list-interfaces
# firewall-cmd --get-service
# firewall-cmd --query-service service_name
# firewall-cmd --add-port=8080/tcp

4、要验证 apache 的功能,打开一个远程浏览器并使用 http 协议访问你服务器的 IP 地址(http://server_IP), 应该会显示下图中的默认页面。

Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

Apache 默认页

5、现在 apache 的根地址在 /var/www/html,该目录中没有提供任何索引文件。如果你想要看见根目录下的文件夹列表,打开 apache 欢迎配置文件并设置

1
<locationMach></b1>下 <b1>Indexes</b1>前的状态从<code>-

1
+

,下面的截图就是一个例子。

# nano /etc/httpd/conf.d/welcome.conf
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

Apache 目录列出

6、关闭文件,重启 apache 服务来使设置生效,重载页面来看最终效果。

# systemctl restart httpd
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

Apache 索引文件

第二步:为 Apache 安装 php5 支持

7、在为 apache 安装 php 支持之前,使用下面的命令的得到所有可用的php模块和扩展。

# yum search php
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

在 CentOS 7 上安装 PHP*

8、根据你所要使用的应用类型,安装上述列表中所需的 PHP 模块。对于 PHP 中的基本的 MariaDB 支持和 PhpMyAdmin,你需要安装如下模块。

# yum install php php-mysql php-pdo php-gd php-mbstring

Install PHP Modules in CentOS 7

安装 PHP 模块

Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

安装 PHP mbstring 模块

9、 要在你的浏览器上显示 PHP 的全部信息,用 root 账号执行如下命令在 Apache 的文档根目录下创建一个 info.php文件,然后重启 httpd 服务,并在你的浏览器里面访问 http://server_IP/info.php 。

# echo "" > /var/www/html/info.php
# systemctl restart httpd
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

查看 CentOS 7 上的 PHP 信息

10、如果你得到一个 PHP 的日期和时区错误,打开配置文件 php.ini,取消

1
2
3
4
date.timezone</b1>语句的注释,加上你的实际时区参数,然后重启 Apache 守护进程。</p>
<pre class="prettyprint "># nano /etc/php.ini
</pre>
<p>找到并如下修改<code>date.timezone

,参考 PHP 支持的时区列表。(LCTT 译注:对于中国,可以使用 Asia/Shanghai、Asia/Chongqing 等,但是不建议使用向后兼容而保留的 PRC。)

date.timezone = Continent/City
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

设置 PHP 的时区

第三步:安装和配置 MariaDB 数据库

11、 Red Hat Enterprise Linux/CentOS 7.0 使用 MariaDB 替换 MySQL 为默认数据库管理系统。使用如下命令安装 MariaDB 数据库。

# yum install mariadb-server mariadb
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

在 CentOS 7中安装 MariaDB

12、安装 MariaDB 后,启动数据库守护进程并使用 mysqlsecureinstallation 脚本来保护数据库(设置数据库的 root 密码、禁止远程 root 登录、移除测试数据库、移除匿名用户等)。

# systemctl start mariadb
# mysql_secure_installation
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

启动 MariaDB 数据库

Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

MariaDB 安全设置

13、要测试数据库功能,使用 root 账户登录 MariaDB 并用 quit 退出。

mysql -u root -p
MariaDB > SHOW VARIABLES;
MariaDB > quit
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

连接 MariaDB 数据库

第四步:安装 PhpMyAdmin

14、 RHEL 7.0 或者 CentOS 7.0 仓库默认没有提供 PhpMyAdmin 二进制安装包。如果你不适应使用 MySQL 命令行来管理你的数据库,你可以通过下面的命令启用 CentOS 7.0 rpmforge 仓库来安装 PhpMyAdmin。

# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

启用 rpmforge 仓库后,下面安装 PhpMyAdmin。

# yum install phpmyadmin
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

启用 RPMForge 仓库

15、下面配置 PhpMyAdmin 的 phpmyadmin.conf来允许远程连接,它位于 Apache 的 conf.d目录下,并注释掉下面的行。

# nano /etc/httpd/conf.d/phpmyadmin.conf

使用#来注释掉下列行。

# Order Deny,Allow
# Deny from all
# Allow from 127.0.0.1
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

允许远程 PhpMyAdmin 访问

16、 要使用 cookie 验证来登录 PhpMyAdmin,像下面的截图那样使用生成的秘密字符串来添加一个 blowfish 字符串到 config.inc.php文件中,重启 apache 服务并打开 URL:http://server_IP/phpmyadmin/。

# nano /etc/httpd/conf.d/phpmyadmin.conf
# systemctl restart httpd
Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

在 PhpMyAdmin 中添加 Blowfish

Linux:在 RHEL/CentOS 7.0 中安装 LAMP
Linux:在 RHEL/CentOS 7.0 中安装 LAMP

PhpMyAdmin 面板

第五步:在系统范围内启用 LAMP

17、 如果你需要在重启后自动运行 MariaDB 和 Apache 服务,你需要在系统级地启用它们。

# systemctl enable mariadb
# systemctl enable httpd

Enable Services System Wide

系统级启用服务

这就是在 Red Hat Enterprise 7.0 或者 CentOS 7.0 中安装 LAMP 的过程。在 CentOS/RHEL 7.0 上关于 LAMP 的系列文章接下来将会讨论在 Apache 中创建虚拟主机,生成 SSL 证书、密钥和添加 SSL 事务支持。


via: http://www.tecmint.com/install-lamp-in-centos-7/

作者:Matei Cezar 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

来源:https://linux.cn/article-5789-1.html

Linux:RHEL 7特性说明(二):软件包及支持变化

Red Hat Enterprise Linux 7.0 是 Red Hat 的下一代操作系统完整套件,旨在用于关键任务企业级计算以及顶级企业级软件和硬件零售商认证。

Linux:RHEL 7特性说明(二):软件包及支持变化
Linux:RHEL 7特性说明(二):软件包及支持变化

淘汰的软件包

计划在 Red Hat Enterprise Linux 7.0 中淘汰下列功能和性能,并可能从该产品的未来版本中删除。在适当的情况下可采用以下建议的功能。

表 4.1. 淘汰的软件包

功能/软件包 替代品 迁移记录
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  
用户信息 选项  
edac-utils 和 mcelog rasdaemon  
libcgroup systemd Red Hat Enterprise Linux 7.0 将继续使用 cgutils,但systemd 改进了让用户在今后的发行本中进行迁移的能力。
krb5-appl openssh OpenSSH 包含拥有类似功能的工具,并采用更活跃的维护标准和更活跃的开发和维护代码库。
lvm1 lvm2  
lvm2mirror 和 cmirror lvm2 raid1 lvm2 raid1 不支持集群,还没有计划替换 cmirror。

删除的软件包

本小节列出了相比 Red Hat Enterprise Linux 6 从 Red Hat Enterprise Linux 7 中删除的软件包。

表 4.2. 删除的软件包

功能/软件包 替代品 迁移记录
gcj OpenJDK 不要使用 gcj 将 Java 程序编译为原代码。
使用 32 位架构作为安装架构 64 位架构 应用程序仍将使用兼容库运行。在 64 位 Red Hat Enterprise Linux 6 中测试您的程序。如果需要 32 位引导支持,请继续使用 Red Hat Enterprise Linux 6。
IBM POWER6 支持 继续使用 Red Hat Enterprise Linux 5 或者 6。
Matahari 基于 CIM 的管理 已从 Red Hat Enterprise Linux 6.4 中删除了 Matahari。不要再使用它。
ecryptfs 使用现有 LUKS 或者 dm-crypt 基于块的加密 不能进行迁移;用户需要重新生成加密的数据。
TurboGears2 网页程序栈  
OpenMotif 版本 2.2 Motif 2.3 根据现有 Motif 版本,即 Red Hat Enterprise Linux 6 中的版本重新构建应用程序。
webalizer 网页分析工具  
compiz 窗口管理程序 gnome-shell  
Eclipse 开发者工具组件 已在 Red Hat Developer Toolset 中提供 Eclipse。
Qpid 和 QMF MRG 中包含 Qpid 和 QMF。
amtu 常用标准认证不再需要这个工具。
system-config-services systemadm  
pidgin 前端 empathy  
perl-suidperl 解读程序 这个功能在 upstream perl 中已无法使用。
pam_passwdqc, pam_cracklib pam_pwquality  
HAL 库及守护进程 udev  
ConsoleKit 库及守护进程 systemd http://www.freedesktop.org/wiki/Software/systemd/writing-display-managers
DeviceKit-power upower  
system-config-lvm gnome-disk-utility 和system-storage-manager Red Hat Enterprise Linux 6 也使用 gnome-disk-utility。注:应在较简单的任务中使用 system-storage-manager,而使用 lvm2 命令进行微调或者用于与 LVM 有关的更复杂的操作。
system-config-network nm-connection-editor,nmcli Red Hat Enterprise Linux 6 也使用 nm-connection-editor。
taskjuggler  
thunderbird evolution  
vconfig iproute vconfig 的所有功能都由iproute 软件包中的 ip 工具提供。详情请查看 ip-link(8) manual page。
原有图形驱动程序分类 现代硬件或者 vesa 驱动程序  
xorg-x11-twm  
xorg-x11-xdm gdm  
system-config-firewall firewall-config 和firewall-cmd system-config-firewall 仍作为用于静态环境的防火墙备选解决方案的一部分与 iptables 服务一同使用。
mod_perl mod_fcgid mod_perl 与 HTTP 2.4 不兼容
busybox  
prelink 注:Red Hat Enterprise Linux 7.0 提供 prelink,但默认为禁用。
KVM 和虚拟化软件包(在 ComputeNode 变体中) 附带变体的 KVM 和虚拟化,比如服务器变体  
module-init-tools kmod  
kernel-firmware-* linux-firmware  
flight-recorder  
wireless-tools 要在命令行中进行基本无线设备操控,请使用 iw 软件包中的 iw 二进制程序。  
libtopology hwloc  
digikam 由于相依性极为复杂,Red Hat Enterprise Linux 7.0 软件频道不再提供digiKam 图片管理程序。
NetworkManager-openswan NetworkManager-libreswan  
KDE 显示管理程序,KDM GNOME 显示管理程序,GDM GNOME 显示管理程序是 Red Hat Enterprise Linux 7.0 的默认显示管理程序。注:仍可使用 KDE(K 桌面环境),并提供支持。
virt-tar virt-tar-in 和 virt-tar-out 注:命令行语法已有变化。详情请查看手册页。
virt-list-filesytems virt-filesystems 注:命令行语法已有变化。详情请查看手册页。
virt-list-partitions virt-filesystems 注:命令行语法已有变化。详情请查看手册页。

淘汰的驱动程序和模块

图形驱动程序xorg-x11-drv-ast、xorg-x11-drv-cirrus、xorg-x11-drv-mach64、xorg-x11-drv-mga、xorg-x11-drv-openchrome

注:上述图形驱动程序将由内核模式设置(KMS)驱动程序替换。

输入驱动程序

xorg-x11-drv-void

存储驱动程序

3w-9xxx、arcmsr、aic79xx、Emulex lpfc820

不再继续使用的内核驱动程序、模块及功能

本小节列出了相比 Red Hat Enterprise Linux 6 已从 Red Hat Enterprise Linux 7.0 中删除的驱动程序及模块列表。

存储驱动程序

megaraid_mm、cciss、aic94xx、aic7xxx、i2o、ips、megaraid_mbox、mptlan、mptfc、sym53c8xx、ecryptfs、3w-xxxx

联网驱动程序

3c59x、3c574_cs、3c589_c、3c589_cs、8390、acenic、amd8111e、at76c50x-usb、ath5k、axnet_cs、b43、b43legacy、can-dev、cassini、cdc-phonet、cxgb、de4x5、de2104x、dl2k、dmfe、e100、ems_pci、ems_usb、fealnx、fmvi18x_cs、fmvj18x_cs、forcedeth、ipw2100、ipw2200、ixgb、kvaser_pci、libertas、libertas_tf、libertas_tf_usb、mac80211_hwsim、natsemi、ne2k-pci、niu、nmckan_cs、nmclan_cs、ns83820、p54pci、p54usb、pcnet32、pcnet_32、pcnet_cs、pppol2tp、r6040、rt61pci、rt73usb、rt2400pci、rt2500pci、rt2500usb、rtl8180、rtl8187、s2io、sc92031、sis190、sis900、sja1000、sja1000_platform、smc91c92_cs、starfire、sundance、sungem、sungem_phy、sunhme、tehuti、tlan、tulip、typhoon、uli526x、vcan、via-rhine、via-velocity、vxge、winbond-840、xirc2ps_cs、xircom_cb、zd1211r

图形驱动程序xorg-x11-drv-acecad、xorg-x11-drv-aiptek、xorg-x11-drv-elographics、xorg-x11-drv-fpit、xorg-x11-drv-hyperpen、xorg-x11-drv-mutouch、xorg-x11-drv-penmount

输入驱动程序

xorg-x11-drv-acecad、xorg-x11-drv-aiptek、xorg-x11-drv-elographics、xorg-x11-drv-fpit、xorg-x11-drv-hyperpen、xorg-x11-drv-mutouch、xorg-x11-drv-penmount

本系列文章来自 RHEL 7.0 的发行注记,完整内容请移步:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html 

来源:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

Linux:RHEL 7特性说明(三):存储与文件系统

Red Hat Enterprise Linux 7.0 是 Red Hat 的下一代操作系统完整套件,旨在用于关键任务企业级计算以及顶级企业级软件和硬件零售商认证。

Linux:RHEL 7特性说明(三):存储与文件系统
Linux:RHEL 7特性说明(三):存储与文件系统

存储

⁠LIO 内核目标子系统

Red Hat Enterprise Linux 7.0 使用 LIO 内核目标子系统,它是块存储的标准开源 SCSI 目标,可用于以下存储介质:FcoE、iSCSI、iSER(Mellanox InfiniBand)和 SRP(Mellanox InfiniBand)。Red Hat Enterpise Linux 6 使用 SCSI 目标守护进程 tgtd 为 iSCSI 目标提供支持,同时在以太网光纤通道(FCoE)中只使用 fcoe-target-utils 软件包提供的 Linux 内核目标 LIO。targetcli shell 提供 LIO Linux SCSI 目标的常规管理平台。

⁠快速块设备为较慢的块设备提供缓存

Red Hat Enterprise Linux 7.0 中引进让快速块设备作为较慢块设备的缓存的功能作为技术预览。这个功能可让 PCIe SSD 设备作为直接附加存储(DAS)或者存储局域网(SAN)存储的缓存使用,以便提高文件系统性能。

⁠LVM 缓存

Red Hat Enterprise Linux 7.0 引进了 LVM 缓存作为技术预览。这个功能可让用户创建逻辑卷,使用一个小的快速设备作为较大的慢速设备的缓存。有关生成缓存逻辑卷的详情请参考 lvm(8) manual page。注:在缓存逻辑卷中尚不能使用下列命令:

  • pvmove:跳过所有缓存逻辑卷,
  • lvresize, lvreduce, lvextend:目前无法重新定义缓存逻辑卷大小,
  • vgsplit:当有缓存逻辑卷存在时不能分割卷组。

⁠使用 libStorageMgmt API 进行存储阵列管理

Red Hat Enterprise Linux 7.0 引进了存储阵列管理作为技术预览。libStorageMgmt 是独立于存储阵列的应用程序编程界面(API)。它提供稳定且持久的 API,可让开发人员以编程方式管理不同的存储阵列,并利用所提供的硬件加速功能。系统管理员还可以将其作为手动管理存储的工具使用,同时使用附带的命令行界面(CLI)自动化存储管理任务。

⁠LSI Synchro 支持

Red Hat Enterprise Linux 7.0 包含 megaraid_sas 驱动程序中代码用于启用 LSI Syncro CS 高可用直接附加组件(HA-DAS)适配器。尽管在以前启用的适配器中完全支持 megaraid_sas 驱动程序,但在 Syncro CS 中使用这个驱动程序仍处于技术预览阶段。对这个适配器的支持将直接由 LSI、您的系统集成商或者系统销售商提供。我们鼓励在 Red Hat Enterprise Linux 7.0 中部署 Syncro CS 的用户为 Red Hat 和 LSI 提供反馈意见。有关 LSI Syncro CS 解决方案的详情请参考http://www.lsi.com/products/shared-das/pages/default.aspx

⁠LVM 应用程序编程界面

Red Hat Enterprise Linux 7.0 提供新的 LVM 应用程序编程界面(API)作为技术预览。使用这个 API 可查询并控制 LVM 的具体方面。

⁠DIF/DIX 支持

DIF/DIX 是 SCSI 标准的新版本,同时在 Red Hat Enterprise Linux 7.0 中也是技术预览。DIF/DIX 将通常使用的 512 字节磁盘块大小从 512 字节增大到 520 字节,添加了数据完整性字段(DIF)。DIF 在发生写入操作时为主机总线适配器(HBA)计算的数据库保存 checksum 值。该存储设备在收到 checksum 后确认,并同时保存该数据和 checksum。相反,当发生读取操作时,可在收到 HBA 后由该存储设备检查 checksum。详情请参考启用了 DIF/DIX 的块设备一节,网址《存储管理指南》

⁠支持平行 NFS

平行 NFS(pNFS)是 NFS v4.1 标准的一部分,可让客户端直接且平行访问存储设备。pNFS 架构可为一些常规负载提高 NFS 服务器的可延伸性及性能。pNFS 定义了三种不同的存储协议或者布局:文件、对象和块。Red Hat Enterprise Linux 7.0 客户端全面支持文件布局,但块布局和对象布局只能作为技术预览使用。pNFS 的详情请参考 http://www.pnfs.com/。

文件系统

⁠支持 XFS 文件系统

目前使用 Anaconda 安装的 Red Hat Enterprise Linux 7.0 中使用的默认文件系统是 XFS,它替换了在 Red Hat Enterprise Linux 6 中使用的第四代扩展的文件系统(ext4)。ext4 和 Btrfs(B-Tree)文件系统可作为 XFS 的备选。XFS 是高度可扩展、高性能文件系统,最初由 Silicon Graphics, Inc 设计,目的是为了支持高达 16 艾字节(约 1600万TB)的文件系统,多达 8 艾字节(约 800万TB)以及包含数千万条目的目录结构。XFS 支持元数据日志,它可加快崩溃的恢复。XFS 文件系统还可在挂载且活跃的情况下进行清理碎片和扩展操作。有关 ext4 和 XFS 间常规任务所使用命令的不同请参考《安装指南》中的参考表格。

⁠支持 IBM System z 中的 libhugetlbfs

目前支持 IBM System z 架构中的 libhugetlbfs 库。该库允许 C 和 C++ 程序中的大页面透明开发。应用程序及中间件程序可从其性能优点或者大页面中受益而无需进行更改或者重新编译。

本系列文章来自 RHEL 7.0 的发行注记,完整内容请移步:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html 

来源:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

Linux:RHEL 7特性说明(四):内核

Red Hat Enterprise Linux 7.0 是 Red Hat 的下一代操作系统完整套件,旨在用于关键任务企业级计算以及顶级企业级软件和硬件零售商认证。

Linux:RHEL 7特性说明(四):内核
Linux:RHEL 7特性说明(四):内核

内核

Red Hat Enterprise Linux 7.0 采用 kernel 版本 3.10,该版本提供大量新功能,主要列举如下。

⁠支持大的 crashkernel 大小

Red Hat Enterprise Linux 7.0 支持在有大内存(最大为 3TB)的系统中使用 kdump 崩溃转储机制。

⁠在一个以上 CPU 中使用 crashkernel

Red Hat Enterprise Linux 7.0 启用在一个以上 CPU 中引导 crashnernel 的功能。这个功能作为技术预览支持。

⁠Swap 内存压缩

Red Hat Enterprise Linux 7.0 引进了一个新功能,即 swap 内存压缩。Swap 压缩由 zswap 执行,这是一个用于 frontswap 的精简后端。采用 swap 内存压缩技术可保证显著减少 I/O 并提高性能。

⁠采用 NUMA 的调度和内存分配

在 Red Hat Enterprise Linux 7.0 中,内核会在同一系统的不同 NUMA 节点间自动重置进程和内存以提高没有统一内存访问(NUMA)系统的性能.

⁠APIC 虚拟化

通过利用新处理器的硬件功能支持高级程序中断控制器(APIC)注册的虚拟化以便提高虚拟机监视器(VMM)中断处理能力。

⁠vmcp 内嵌在内核中

在 Red Hat Enterprise Linux 7.0 中,vmcp 内核模块内嵌在内核中。这可保证 vmcp 设备节点总会出现,同时用户可在不首先载入 vmcp 内核模块的情况下发送 IBM z/VM hypervisor 控制程序命令。

⁠硬件错误报告机制

目前,Linux 的硬件报错机制还不完善,多数是由各种工具(mcelog 和 EDAC)造成,这些工具从不同源采用不同方法以及不同工具(比如:mcelogedac-utils 和 syslog)收集出错信息,报告出错事件。硬件报错问题可分为两个方面:

  • 收集各种数据,有时是重复数据的不同错误数据收集机制,
  • 以及在不同位置使用不同时间戳报告这些数据的不同工具,使其与事件关联变得困难。

Red Hat Enterprise Linux 7.0 中的新硬件事件报告机制,也称 HERM 的目标是统一来自不同源的出错数据集合,并采用连续时间线和单一位置向用户控件报告出错事件。Red Hat Enterprise Linux 7.0 中的 HERM 引进了新的用户空间守护进程 rasdaemon,它可捕获并处理所有来自内核追踪架构的可依赖性、可用性及可服务性(RAS)出错事件,并记录它们。Red Hat Enterprise Linux 7.0 中的 HERM 还提供报告那些错误的工具,并可探测不同类型的错误,比如 burst 和 sparse 错误。

⁠全面 DynTick 支持

nohz_full 引导参数将最初的无缝内核功能延伸到额外的情况,比如可以停止 tick 的时候,可以使用 per-cpu nr_running=1 设置的时候。即在 CPU 的运行队列中只有一个可运行的任务。

⁠将内核模块列入黑名单

Red Hat Enterprise Linux 7.0 提供 modprobe 程序可让用户在安装时将内核模块放入黑名单。要禁用自动载入一个模块,请运行以下命令:

modprobe.blacklist=module

⁠动态内核补丁

Red Hat Enterprise Linux 7.0 引进了 kpatch,一个动态内核补丁管理程序作为技术预览。用户可使用 kpatch 管理二进制补丁集合,它可在不重启的情况下动态为内核打补丁。

⁠Emulex ocrdma 驱动程序

Emulex ocrdma 驱动程序在 Red Hat Enterprise Linux 7.0 中是作为技术预览提供。该驱动程序为具体的 Emulex 适配器提供远程直接内存访问(RDMA)功能。

⁠dm-era 目标

Red Hat Enterprise Linux 7.0 引进了 dm-era 设备映射器目标作为技术预览。dm-era 可跟踪在用户定义的时间段(即“era”)内写入的块。每个 era 目标事务可将当前 era 单调地增加到 32 位计数器。这个目标允许备份软件追踪自上次备份后有变化的块。它还允许在返回经销商快照后部分失效的缓存内容恢复缓存一致性。dm-era 目标主要与 dm-cache 目标配对。

 

本系列文章来自 RHEL 7.0 的发行注记,完整内容请移步:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html 

来源:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

Linux:RHEL 7特性说明(五):虚拟化

Red Hat Enterprise Linux 7.0 是 Red Hat 的下一代操作系统完整套件,旨在用于关键任务企业级计算以及顶级企业级软件和硬件零售商认证。

Linux:RHEL 7特性说明(五):虚拟化
Linux:RHEL 7特性说明(五):虚拟化

基于内核的虚拟化

⁠使用 virtio-blk-data-plane 提高快 I/O性能

在 Red Hat Enterprise Linux 7.0 中,virtio-blk-data-plane I/O 虚拟化功能是作为技术预览使用。这个功能将 QEMU 扩展至在为 I/O 性能优化的专用线程中执行磁盘 I/O。

⁠PCI 桥接

之前 QEMU 最多可支持 32 个 PCI 插槽。Red Hat Enterprise Linux 7.0 采用 PCI 桥接技术,可让用户配置 32 个以上的 PCI 设备。注:不支持桥接后的设备热插拔。

⁠QEMU 沙箱

Red Hat Enterprise Linux 7.0 使用内核系统调用过滤加强 KVM 虚拟化安全性,这提高了主机系统与虚拟机之间的独立性。

⁠支持 QEMU 虚拟 CPU 热添加

Red Hat Enterprise Linux 7.0 中的 QEMU 提供虚拟 CPU(vCPU)热添加支持。可在运行的虚拟机中添加虚拟 CPU(vCPUS)以满足与负载关联的负载要求或者保持服务等级协议(SLA)。注:只在使用 pc-i440fx-rhel7.0.0 机器类型的虚拟机中支持 vCPU 热插拔,这是 Red Hat Enterprise Linux 7.0 中的默认机器类型。

⁠多队列 NIC

多队列 virtio_net 提供更好的可延伸性。每个虚拟 CPU 都有独立的传输或者接收队列以及可在不影响其他虚拟 CPU 的情况下使用的独立中断。

⁠多队列 virtio_scsi

多队列 virtio_net 提供更好的可延伸性。每个虚拟 CPU 都有独立的队列以及可在不影响其他虚拟 CPU 的情况下使用的独立中断。

⁠实时迁移的页面 Delta 压缩

已通过压缩虚拟机内存页并减小传输的迁移数据大小提高 KVM 实时迁移功能。这个功能可让迁移至集合更迅速。

KVM 中的 HyperV 启示

已使用多个微软 Hyper-V 功能更新了 KVM,例如:支持内存管理单元(MMU)和虚拟中断控制程序。微软在虚拟机和主机之间提供半虚拟 API,通过在主机中使用这个功能的一部分,并根据微软的说明对其进行控制,微软 Windows 虚拟机就可以提高其性能。

⁠高带宽 I/O的 EOI 加速

Red Hat Enterprise Linux 7.0 在高级可编程中断控制程序(APIC)中使用 Intel 和 AMD 的改进加速中断结束(EOI)处理。对于老的芯片组来说,Red Hat Enterprise Linux 7.0 为 EOI 加速提供了半虚拟化选项。

⁠KVM 虚拟机的 USB 3.0 支持

Red Hat Enterprise Linux 7.0 通过添加 USB 3.0 主机适配器(xHCI)模拟作为技术预览提供改进的 USB 支持。

⁠Windows 8 和 Windows Server 2012 虚拟机支持

Red Hat Enterprise Linux 7.0 支持在 KVM 虚拟机中运行的微软 Windows 8 和 Windows Server 2012 虚拟机。

⁠QEMU 虚拟机的 I/O 节流

这个功能为 QEMU 虚拟机块设备提供 I/O节流。I/O 节流会延缓 I/O 内存请求的处理。这样会延迟系统但可防止其死机。注:不能节流数据层。

⁠整合膨胀和透明大页面

Red Hat Enterprise Linux 7.0 更好地整合了膨胀和透明大页面。可移除并压缩膨胀页面使其成为大页面。

⁠从主机中提取系统熵

可为虚拟机配置一个新设备 virtio-rng,它可让虚拟机使用主机的熵。默认情况下,这个信息来自主机的 /dev/random 文件,但主机中可用的硬件随机号码生成程序(RNG)也可作为来源使用。

⁠桥接零复制传输(Bridge Zero Copy Transmit)

桥接零复制传输是提高 CPU 处理大量信息的性能特点。这个桥接零复制传输功能提高了虚拟机在使用桥接时的外出流量性能。

⁠实时迁移支持

支持从 Red Hat Enterprise Linux 6.5 主机到 Red Hat Enterprise Linux 7.0 主机的实时迁移。

qemu-kvm 中的丢弃支持

在域的 XML 定义的  元素中添加 discard=’unmap’ 后,就可以在虚拟机中使用 fstrim 或者 mount -o discard 命令的丢弃支持。例如:


	
  
  ...

⁠NVIDIA GPU 设备分配

Red Hat Enterprise Linux 7.0 支持 NVIDA 专业系列显示设备(GRID 和 Quadro)的设备分配作为模拟 VGA 的第二图形设备。

⁠半虚拟 Ticketlock

Red Hat Enterprise Linux 7.0 支持半虚拟 ticketlocks(pvticketlocks)以提高在过度使用 CPU 的 Red Hat Enterprise Linux 7.0 主机中运行的 Red Hat Enterprise Linux 7.0 虚拟机性能。

⁠处理分配的 PCIe 设备出错

如果在将使用高级出错报告(Advanced Error Reporting,AER)的 PCIe 分配给虚拟机时出错,则受到影响的虚拟机会关机,但不影响其他正在运行的虚拟机或者主机。该设备的主机驱动程序从错误中恢复后就可以让该虚拟机重新运行。

⁠Q35 芯片组,PCI 快速总线以及 AHCI 总线模拟

Q35 机型需要 KVM 虚拟机中的 PCI 快速总线支持,它是作为技术预览在 Red Hat Enterprise Linux 7.0 中提供。包含 AHCI 总线也只能在 Q35 机型中使用,同样也是技术预览。

⁠基于 VFIO 的 PCI 设备分配

虚拟功能 I/O(VFIO)用户空间驱动程序界面为 KVM 虚拟机提供改进的 PCI 设备分配解决方案。VFIO 提供内核级设备分离强化,提高设备访问的安全性,并与安全引导等功能兼容。VFIO 替换了 Red Hat Enterprise Linux 6 中使用的 KVM 设备分配机制。

⁠Intel VT-d 大页面

在 Red Hat Enterprise Linux 7.0 的 KVM 虚拟机中使用虚拟功能 I/O(VFIO)设备分配时,使用 2MB 页面作为输入/输出内存管理单位(IOMMU),因此可减少 I/O 操作的转译后备缓存(translation lookaside buffer ,TLB)的消耗。计划在 Red Hat Enterprise Linux 7.0 中提供 1GB 页面支持。VT-d 大页面功能支持目前仅限于 Intel 的平台。

⁠KVM 时钟获取时间性能

在 Red Hat Enterprise Linux 7.0 中加强了 vsyscall 机制以支持 KVM 虚拟机更迅速地从用户控件读取时钟。Red Hat Enterprise Linux 7.0 主机中运行的 Red Hat Enterprise Linux 7.0 虚拟机可体验到经常读取时间的应用程序的性能提高。

⁠图像格式的 QCOW2 版本 3

Red Hat Enterprise Linux 7.0 添加对图像格式的 QCOW2 版本 3 的支持

⁠改进的实时迁移统计

现在可使用实时迁移的有关信息分析和调试性能。改进的统计包括预期关机、关机或者脏页面比例。

⁠实时迁移线程

已将 KVM 实时迁移功能改进为支持线程处理。

⁠字符设备和串行端口的热插拔

目前 Red Hat Enterprise Linux 7.0 支持为新字符设备热插拔新串行端口。

⁠模拟 AMD Opteron G5

KVM 现在可以模拟 AMD Opteron G5 处理器。

⁠在 KVM 虚拟机中支持新的 Intel 指令

KVM 虚拟机可以使用 Intel 22nm 处理器支持的新指令。这些包括:

  • 浮点乘加器,
  • 256 位整数向量,
  • 大端移动指令(MOVBE)支持,
  • 或者 HLE/HLE+。

⁠VPC 和 VHDX 文件格式

Red Hat Enterprise Linux 7.0 中的 KVM 包括对微软虚拟 PC(VPC)和微软 Hyper-V 虚拟硬盘(VHDX)文件格式的支持。

libguestfs 新功能

libguestfs 是一组访问和修改虚拟机磁盘映像的工具。Red Hat Enterprise Linux 7.0 中的libguestfs 包括大量改进,最主要的包括:

  • 使用 SELinux 或者 sVirt 包含的安全虚拟化,保证加强针对恶意和畸形磁盘映像的安全性。
  • 可检查和修改远程磁盘,最开始是使用网络块设备(NBD)。
  • 在某些程序中可进行磁盘热插拔以便获得更好的性能。

⁠WHQL 认证的 virtio-win 驱动程序

Red Hat Enterprise Linux 7.0 包括用于最新微软 Windows 虚拟机,即 Microsoft Window 8, 8.1, 2012 和 2012 R2 的 Windows 硬件质量实验室(WHQL)认证的 virtio-win 驱动程序。

Xen

⁠Red Hat Enterprise Linux 7.0 Xen HVM 虚拟机

用户现在可以在广受欢迎的 Xen 环境中使用 Red Hat Enterprise Linux 7.0 作为虚拟机。

Hyper-V

⁠Red Hat Enterprise Linux 7.0 托管的第二代虚拟机

Red Hat Enterprise Linux 7.0 可作为 Microsoft Hyper-V Server 2012 R2 主机中的第二代虚拟机。除上一代虚拟机支持的功能外,第二代提供了虚拟机中的新功能,例如:安全引导,使用 SCSI 虚拟硬盘引导或者 UEFI 固件支持。

 

本系列文章来自 RHEL 7.0 的发行注记,完整内容请移步:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html 

来源:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

Linux:RHEL 7特性说明(六):集群

Red Hat Enterprise Linux 7.0 是 Red Hat 的下一代操作系统完整套件,旨在用于关键任务企业级计算以及顶级企业级软件和硬件零售商认证。

Linux:RHEL 7特性说明(六):集群
Linux:RHEL 7特性说明(六):集群

集群是多台计算机(节点)一同工作以便提高重要产品服务的可靠性、可扩展性和可用性。可将使用 Red Hat Enterprise Linux 7.0 的高可用性根据性能、高可用性、负载平衡以及文件共享的不同需要采用各种不同的配置进行部署。注:Red Hat Enterprise Linux 7.0 负载平衡现在是基础 Red Hat Enterprise Linux 的一部分。

Pacemaker 集群管理器

Red Hat Enterprise Linux 7.0 使用 Pacemaker 替换 rgmanager 进行集群资源管理以及从节点失败中恢复。Pacemaker 的优点包括:

  • 资源配置的自动同步和版本管理。
  • 灵活的资源和 fencing 模式可与用户环境更紧密地对应。
  • 可使用 fencing 恢复资源层失败。
  • 基于时间的配置选项。
  • 在多节点中运行同一资源的能力。例如:网页服务器或者集群文件系统。
  • 在两个不同模式之一的多个节点中运行同一资源的能力。例如:同步资源和目标。
  • Pacemaker 不需要分布式锁管理程序。
  • 仲裁丢失或者形成多个分区时的可配置行为。

使用 keepalived 和 HAProxy 替换 Piranha

Red Hat Enterprise Linux 7.0 使用 keepalived 和 HAProxy 替换了负载平衡程序 Piranha。keepalived 软件包提供简单且强大的负载平衡和高可用功能。负载平衡框架依赖大家熟知且广泛使用的 Linux 虚拟服务器内核模块,提供四级网络负载平衡。keepalived 守护进程在负载平衡的服务器池中根据其状态采用一组状态检查程序。keepalived 守护进程还采用虚拟路由器冗余协议(VRRP),允许路由器或者管理器故障切换以便提供高可用性。HAProxy 为 TCP 和 HTTP 应用程序提供一个可靠的高性能网络负载平衡程序。它特别适用于在需要持久性或者 Layer7 处理时有非常高负载的网页。

高度可用性管理

Pacemaker 配置系统,也称 pcs,替换了 ccsricci 和 luci 作为统一的集群配置和管理工具。pcs 的优点包括:

  • 命令行工具。
  • 可轻松自我启动集群,即初始化集群并使其开始运行。
  • 可配置集群选项。
  • 可添加、删除或者修改资源及其之间的关系。

新的资源代理

Red Hat Enterprise Linux 7.0 提供大量资源代理。资源代理时集群资源的标准化接口。资源代理可将一组标准操作转换为具体资源或者应用程序的步骤,并将其结果解读为成功或者失败。

 

本系列文章来自 RHEL 7.0 的发行注记,完整内容请移步:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html 

来源:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

Linux:RHEL 7特性说明(七):编译程序及工具

Red Hat Enterprise Linux 7.0 是 Red Hat 的下一代操作系统完整套件,旨在用于关键任务企业级计算以及顶级企业级软件和硬件零售商认证。

Linux:RHEL 7特性说明(七):编译程序及工具
Linux:RHEL 7特性说明(七):编译程序及工具

GCC 工具链

在 Red Hat Enterprise Linux 7.0 中,gcc 工具链是根据 gcc-4.8.x 发行系列开发,并包含大量针对 Red Hat Enterprise Linux 6 的改进和 bug 修复。同样,Red Hat Enterprise Linux 7 也包含binutils-2.23.52.x。这些版本与 Red Hat Developer Toolset 2.0 中的等效工具对应。Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 gcc 的 binutils 版本对比请查看:

https://access.redhat.com/site/documentation/en-US/Red_Hat_Developer_Toolset/2/html/User_Guide/index.html#sect-Changes_in_Version_2.0-GCC

https://access.redhat.com/site/documentation/en-US/Red_Hat_Developer_Toolset/2/html/User_Guide/index.html#sect-Changes_in_Version_2.0-binutils

Red Hat Enterprise Linux 7.0 工具链的主要特点如下:

  • 构建符合 C++11 的应用程序的实验性支持(其中包括所有 C++11 语言支持)和一些 C11 功能的实验性支持。
  • 改进的并行应用程序编程支持,其中包括 OpenMP v3.1, C++11 类型和自动内存访问的 GCC 内嵌,以及事务内存的实验性支持(其中包括 Intel RTM/HLE 内联函数、内嵌以及代码生成)。
  • 新的本地注册分配程序(LRA),提高代码性能。
  • DWARF4 现在作为默认 debug 格式使用。
  • 各种新的具体架构选项。
  • 支持 AMD 产品线 15h 和 16h 处理器。
  • 接期(Link-time)优化支持。
  • 改进的警告和诊断。
  • 各种新的 Fortran 功能。

GLIBC

在 Red Hat Enterprise Linux 7.0 中,glibc 库(libc, libm, libpthread, NSS 插件及其他)是根据 glibc 2.17 发行本开发的,其中包含大量针对 Red Hat Enterprise Linux 6 对等产品的改进和 bug 修复。

Red Hat Enterprise Linux 7.0 glibc 库主要特点如下:

  • 实验性 ISO C11 支持。
  • 新的 Linux 接口:prlimit, prlimit64, fanotify_init, fanotify_mark, clock_adjtime, name_to_handle_at, open_by_handle_at, syncfs, setns, sendmmsg, process_vm_readv, process_vm_writev。
  • 使用流 SIMD 扩展(SSE)、补充流 SIMD 扩展 3(SSSE3)、流 SIMD 扩展 4.2(SSE4.2)以及高级矢量扩展(AVX)为 AMD64 和 Intel 64 架构新优化的字符串功能。
  • 为 IBM PowerPC 和 IBM POWER7 新优化的字符串功能。
  • 使用为 IBM System z10 和 IBM zEnterprise 196 特别优化的程序为 IBM S/390 和 IBM System z 新优化的字符串功能。
  • 新区域:os_RU, bem_ZA, en_ZA, ff_SN, sw_KE, sw_TZ, lb_LU, wae_CH, yue_HK, lij_IT, mhr_RU, bho_IN, unm_US, es_CU, ta_LK, ayc_PE, doi_IN, ia_FR, mni_IN, nhn_MX, niu_NU, niu_NZ, sat_IN, szl_PL, mag_IN。
  • 新编码:CP770, CP771, CP772, CP773, CP774。
  • 新接口:scandirat, scandirat64。
  • 已添加检查 FD_SET, FD_CLR, FD_ISSET, poll 和 ppoll 文件描述符版本的功能。
  • nscd 守护进程现在支持 netgroup 数据库缓存。
  • 新功能 secure_getenv() 可让您安全访问该环境,如果在 SUID 或者 SGID 进程中运行会返回 NULL。这个功能替换了内部功能 __secure_getenv()。
  • 现在如果传递违反那些值规范的盐字节(salt bytes),crypt() 功能会失效。在 Linux 中,crypt() 功能将查看 /proc/sys/crypto/fips_enabled 文件决定是否启用了 FIPS。如果启用了该模式,则无法在使用摘要算法 5(MD5)或者数据加密标准(DES)算法的加密字符串中使用。
  • 现在 clock_* 功能套件(在 中说明)可直接在主 C 库中使用。之前必须将其与-lrt 链接方可使用这些功能。这一变化的效果是使用此功能的单线程程序,比如 clock_gettime()(它未与 -lrt 链接)将不再会在运行时暗自载入 pthreads 库,同时也不会再受到其他代码(比如 C++ 运行时库)所支持的与多线程关联的消耗的困扰。
  • 新的标头 和功能 getauxval() 可让您在经过 Linux 内核时轻松访问 AT_* key-value 对。该标头还定义与 AT_HWCAP 密钥关联的 HWCAP_* 二进制数。
  • 已为低层具体平台功能记录了已安装标头的新等级。PowerPC 添加第一个附带功能的事务以便提供基于时间的注册访问。

GDB

在 Red Hat Enterprise Linux 7.0 中,GDB 调试程序来自 gdb-7.6.1 发行本,并包含大量针对 Red Hat Enterprise Linux 6 操作系统对等产品的改进和 bug 修复。

这个版本与 Red Hat Developer Toolset v2.0 中的 GDB 版本对应,以下列出了 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7.0 GDB 版本之间的不同:

https://access.redhat.com/site/documentation/en-US/Red_Hat_Developer_Toolset/2/html/User_Guide/index.html#sect-Changes_in_Version_2.0-GDB-Red_Hat_Developer_Toolset_1

https://access.redhat.com/site/documentation/en-US/Red_Hat_Developer_Toolset/2/html/User_Guide/index.html#sect-Changes_in_Version_2.0-GDB-Red_Hat_Enterprise_Linux_6

Red Hat Enterprise Linux 7.0 中包含的 GDB 主要新功能有:

  • 使用新的 .gdb_index 部分和新的 gdb-add-index shell 命令更迅速地载入符号。注:在 Red Hat Enterprise Linux 6.1 及之后的版本中就有这个功能。
  • gdbserver 现在支持标准输入/输出(STDIO)连接,例如:(gdb) target remote | ssh myhost gdbserver – hello
  • 使用 -location 参数的 watch 命令有更多行为。
  • 可使用一个新命令 info vtbl 显示虚拟方法表。
  • 使用新命令 info auto-load, set auto-load 和 show auto-load 控制文件的自动载入。
  • 使用 set filename-display absolute 命令显示源文件名的绝对路径。
  • 使用新命令 record btrace 控制有硬件支持的流量记录。

Red Hat Enterprise Linux 7.0 所提供 GDB 的主要 bug 修复如下:

  • 已将 info proc 命令更新为可用于 core 文件。
  • 在下级的所有匹配的位置中设置断点。
  • 断点位置的文件名部分现在与源文件名称结尾部分匹配。
  • 现在可在内联函数中使用断点。
  • 现在可将模板实例化时将模板参数列入范围。

另外,Red Hat Enterprise Linux 7.0 提供一个新软件包 gdb-doc,该软件包包含 PDF、HTML以及信息格式的 GDB 手册。该 GDB 手册在之前的 Red Hat Enterprise Linux 版本中由主 RPM 软件包提供。

性能工具

Red Hat Enterprise Linux 7.0 中包含对一些性能功能的最新更新版本,比如 oprofilepapi 和elfutils,提供性能、可移植性及功能性改进。

此外还有 Red Hat Enterprise Linux 7.0 首先采用的功能:

  • 支持 Performance Co-Pilot
  • SystemTap 支持在整个非特权用户空间运行的基于 DynInst 检测,同时也支持基于 Byteman 的Java 应用程序精确探测。
  • 硬件事务内存的 Valgirnd 支持以及矢量化建模指令的改进。

⁠12.4.1. Performance Co-Pilot

Red Hat Enterprise Linux 7.0 引进 Performance Co-Pilot(PCP)支持,这是一个用来对系统级性能测定进行采集、归档和分析的工具、服务及库套件。其轻加权、分布式架构的特点使其特别适合复杂系统的集中分析。

可使用 Python、Perl、C++ 界面添加性能指标。分析工具可直接使用这些客户端 API(Python、C++ 和 C),且大量网页程序可使用 JSON 界面查看所有可用性能数据。

有关详情请参考 pcp 和 pcp-libs-devel 软件包 man page 中的具体论述。pcp-doc 软件包包括两本来自 upstream 项目的免费公开图书:

http://oss.sgi.com/projects/pcp/doc/pcp-users-and-administrators-guide.pdfhttp://oss.sgi.com/projects/pcp/doc/pcp-programmers-guide.pdf

⁠12.4.2. SystemTap

Red Hat Enterprise Linux 7.0 包含 systemtap 版本 2.4,它可提供一些新功能。这些包括可选的纯用户空间脚本执行、更丰富且有效的 Java 探测、虚拟机探测、改进的报错信息以及大量 bug 修复和新功能。特别是:

  • 使用 dyninst 二进制编辑库,SystemTap 现在可以执行一些纯用于用户空间层的脚本;无需提供内核或者 root 特权。这个模式可使用 stap –dyninst 选择,只启用那些对用户自己的进程产生影响的探测或者操作类型。注:这个模式与引发 C++ 异常的程序不兼容。
  • 与 byteman 工具联合支持向 Java 应用程序中注入探测的新方法。新的 SystemTap 探测类型 java(“com.app”).class(“class_name“).method(“name(signature)”).*,该探测类型启用了对进入退出某个应用程序的独立方法的探测,无需进行系统范围内的追踪。
  • 在 SystemTap 驱动程序中添加了新的程序,该程序可以启用在服务器中运行的由 libvirt 管理的 KVM 事务中执行远程任务。它可将编译的 SystemTap 脚本通过专门的安全 virtio-serial 链接自动且安全地传送到虚拟机中。新的虚拟机端守护进程将载入该脚本并将其输出结果传送回主机。这个方法比 SSH 更快速、有效,且不需要在主机和虚拟机之间建立 IP 级网络连接。要测试此功能,请运行以下命令:
    stap --remote=libvirt://MyVirtualMachine
  • 另外,对 SystemTap 诊断信息有了大量改进:
    • 现在很多信息给出相关手册页供参考。这些页面给出对出错信息的解释及建议修正。
    • 如果怀疑脚本输入包含排版错误,则会以分类列表方式向用户提供建议。当用户指定名称与可接受名称不匹配时会在很多上下文中使用这个建议功能,比如探测功能名称、标记符、变量、文件、别名等等。
    • 已改进诊断重复信息删除。
    • 在信息中添加 ANSI 颜色使其更容易理解。

⁠12.4.3. Valgrind

Red Hat Enterprise Linux 7.0 包含一个检测框架 Valgrind,该框架附带大量工具用于配置应用程序。这个版本是基于 Valgrind 3.9.0 发行本,且包含针对 Red Hat Enterprise Linux 6 和 Red Hat Developer Toolset 2.0 副本的大量改进,后者是在 Valgrind 3.8.1 的基础上开发的。

Red Hat Enterprise Linux 7.0 中包含的 Valgrind 的主要新功能如下:

  • 在安装了 DFP 程序的主机中支持 IBM System z 十进制浮点指令。
  • 支持 IBM POWER8 (Power ISA 2.07) 指令。
  • 支持 Intel AVX2 指令。注:只适用于 64 位架构。
  • Intel 事务同步扩展初期支持,包括受限制事务内存(RTM)以及硬件锁定省略(HIE)。
  • 在 IBM PowerPC 中对硬件事务内存的初期支持。
  • 已将转移缓存默认大小增加到 16 个扇区,表现为大程序需要插入并存储大量代码。同样,可追踪的与内存映射的片段数已增加了 6 倍。转移缓存中的最大扇区数可由新标签 –num-transtab-sectors 控制。
  • Valgrind 不再临时生成整个对象的映射以便从中读取数据,而是通过一个小的固定缓存读取。这样可在 Valgrind 从大的共享对象中读取 debug 信息时避免虚拟内存尖波。
  • 使用的禁止显示列表(如果指定 -v 选项就会显示)现在为每个使用的禁止显示提示文件名以及定义禁止显示的行号。
  • 现在可以使用新标签 –sigill-diagnostics 控制在即时(just-in-time,JIT)编译程序遇到它无法转译的指令时是否给出诊断信息。实际行为 — 向应用程序发出 SIGILL 信号 — 保持不变。
  • 已改进 Memcheck 工具,增加了下述功能:
    • 处理向量化代码能力的提升,大量减少错报。使用 –partial-loads-ok=yes 标签可从中获益。
    • 更好地控制泄露检查。现在可以指定应显示的泄露类型(definite/indirect/possible/reachable),哪些应被视为错误,以及哪些应通过给出泄露抑制而禁止显示。这可通过在 suppression 条目中分别使用选项 –show-leak-kinds=kind1,kind2,..、–errors-for-leak-kinds=kind1,kind2,.. 和自选 match-leak-kinds: 行完成。注:生成的泄露抑制包含这个新行,这比之前的发行本要更具体。要获取与之前发行本相同的行为,请在使用它们前从生成的抑制中删除 match-leak-kinds: 行。
    • 使用更好的试探法减少泄露检查程序中的 possible leak 报告。可用的试探法为std::stdstring、带有析构函数元素的新[ ]分配的阵列以及指向使用多个继承的 C++ 项目内置部分提供有效内部指针探测。可使用 –leak-check-heuristics=heur1,heur2,… 选项进行选择。
    • 对于堆上分配块更好的 stacktrace 捕获控制。使用 –keep-stacktraces 选项有可能独立控制是否为每个分配和取消分配进行栈跟踪。可使用这个选项生成更好的 “use after free”出错信息,或者通过记录更少的信息减少 Valgrind 的资源消耗。
    • 更好地报告泄漏禁止显示使用。已使用禁止显示列表(指定 -v 选项时会显示)现在为每个泄漏禁止显示在上次泄漏搜索中禁止显示的块和字节数。
  • 使用以下监控命令改进了 Valgrind GDB 服务器整合:
    • 新的监视器命令 v.info open_fds 给出打开的文件描述符及附加信息列表。
    • 新的监视器命令 v.info execontext 可显示 Valgrind 记录的栈追踪信息。
    • 新的监视器命令 v.do expensive_sanity_check_general 运行某些内部一致性检查。

编程语言

⁠Ruby 2.0.0

Red Hat Enterprise Linux 7.0 提供最新的 Ruby 2.0.0。版本 2.0.0 与 Red Hat Enterprise Linux 6 中所包含版本 1.8.7 的主要不同点在于:

  • 新的解释程序 YARV(另一个 Ruby VM),该程序可限制降低载入时间,特别是那些有大树结构或者文件的应用程序。
  • 新且迅速的 “Lazy Sweep” 垃圾收集程序。
  • Ruby 限制支持字符串编码。
  • Ruby 限制支持内部线程而不是绿色线程。

有关 Ruby 2.0.0 的详情请参考该项目的 upstream 页:https://www.ruby-lang.org/en/

⁠Python 2.7.5

Red Hat Enterprise Linux 7.0 包含 Python 2.7.5,它是 Python 2.7 系列发行本的最新版本。这个版本包含很多性能改进,并向前兼容 Python 3。Python 2.7.5 中的主要变化如下:

  • 排序的字典类型
  • 快速的 I/O 模块
  • 集合及代码词典解读
  • sysconfig 模块

有关这些变化的完整列表请参考 http://docs.python.org/dev/whatsnew/2.7.html

⁠Java 7 及多个 JDK

Red Hat Enterprise Linux 提供 OpenJDK7 作为默认 Java 开发套件(JDK),Java 7 作为默认 Java 版本。所有 Java 7 个软件包(java-1.7.0-openjdk, java-1.7.0-oracle, java-1.7.0-ibm)允许平行安装多个版本,类似于内核。平行安装的功能可让用户同时尝试多个 JDK 版本,以便在需要时调节性能并解决问题。准确的 JDK 与原来一样通过备选方法进行选择。

 

本系列文章来自 RHEL 7.0 的发行注记,完整内容请移步:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html 

来源:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

Linux:RHEL 7特性说明(八):联网与认证

Red Hat Enterprise Linux 7.0 是 Red Hat 的下一代操作系统完整套件,旨在用于关键任务企业级计算以及顶级企业级软件和硬件零售商认证。

Linux:RHEL 7特性说明(八):联网与认证
Linux:RHEL 7特性说明(八):联网与认证

联网

⁠网络分组

已引进网络分组技术作为链路聚集的捆绑备用方法。该技术旨在轻松管理、debug 和扩展。它可为用户提供性能和灵活性提高,且应为新安装进行评估。

⁠NetworkManager

已对 NetworkManager 进行了大量改进使其更适合在服务器应用程序中使用。特别是NetworkManager 不再默认查看配置文件更改,比如那些由编辑器或者开发工具更改的配置文件。管理员可使其意识到使用 nmcli connection reload 命令进行的外部修改。使用NetworkManager 的 D-Bus API 或者 NetworkManager 命令行工具 nmcli 进行的修改仍可立即生效。

引进 nmcli 工具是要让用户和脚本可以与 NetworkManager 互动。

chrony 套件

可使用程序套件 chrony 更新系统中不适合传统持久联网系统时钟,那些时钟总是在专门服务器分类中。应在所有经常挂起的系统中,或者间歇性断开并重新连接到网络的系统中关注 chrony 套件。例如:移动系统和虚拟系统。

⁠动态防火墙守护进程 firewalld 套件

Red Hat Enterprise Linux 7.0 提供动态防火墙守护进程 firewalld,它可提供一个动态管理的防火墙,并支持网络“区域”以便为网络及其相关链接和接口分配可信度。它还支持 IPv4 和 IPv6 防火墙设置。它支持以太网桥接并有独立的运行时和持久配置选项。它还有一个可直接添加防火墙规则的服务或者应用程序接口。

⁠DNSSEC

DNSSEC 是一组域名系统安全扩展(DNSSEC),允许 DNS 客户端认证和检查来自 DNS 名称服务器响应的完整性以便确认其起始点,并确定在中转过程中是否受到影响。

⁠OpenLMI

Red Hat Enterprise Linux 7.0 中附带 OpenLMI 项目,它为管理 Linux 系统提供常用的基础设施。它还可让用户配置、管理并监控硬件、操作系统及系统服务。OpenLMI 旨在简化任务配置及产品服务器管理。OpenLMI 旨在为 Red Hat Enterprise Linux 的多个版本提供常用管理接口。它是构建在现有工具的顶层,提供一个提取层,为系统管理员过滤了很多底层系统的复杂性。OpenLMI 由安装在要管理的系统中的一组系统管理代理、可管理这些代理并为其提供界面 OpenLMI 控制程序以及使用 OpenLMI 控制程序调用系统管理代理的客户端应用程序或者脚本。OpenLMI 可让用户执行以下操作:

  • 配置、管理和监控裸机产品服务器及虚拟机;
  • 配置、管理和监控本地或者远程系统;
  • 配置、管理及监控存储和网络;
  • 使用 C/C++、Python、Java 或者命令行界面调用系统管理功能

请注意,OenLMI 软件提供程序是作为技术预览支持。该软件功能完善,但某些操作可能会消耗大量资源。有关 OpenLMI 的详情请参考 http://www.openlmi.org

⁠qlcnic 驱动程序中的 SR-IOV 功能

已在 qlcnic 中添加单一 Root I/O 虚拟化(SR-IOV)支持作为技术预览。对这个功能的支持直接由 QLogic 提供,同时鼓励用户为 Red Hat 提供反馈意见。仍全面支持 qlcnic 驱动程序中的其他功能。

⁠FreeRADIUS 3.0.1

Red Hat Enterprise Linux 7.0 包含 FreeRADIUS 版本 3.0.1,它可提供大量新功能,其中主要有:

  • RadSec,用于使用 TCP 和 TLS 传输 RADIUS 数据包的协议。
  • Yubikey 支持。
  • 连接池。radiusd 服务器为各种后端(SQL、LDAP 及其他)维护连接。连接池可在较低资源需求的情况下提供较大的吞吐量。
  • 已扩展服务器配置编程语言 unlang 语法。
  • 提高了对 site-specific 和 vendor-specific 属性的支持。
  • 提高了 debug 功能,在详细输出结果中突出显示问题所在。
  • 生成 SNMP 陷阱。
  • 改进的 WIMAX 支持。
  • EAP-PWD 支持。

⁠可信的网络连接

Red Hat Enterprise Linux 7.0 引进了可信网络连接功能作为技术预览。可信网络连接可用于现有网络访问控制(NAC)解决方案,比如 TLS、802.1x 或者 IPSec 整合端点态势评估,即收集端点系统信息(比如操作系统配置设置,安装的软件包及其他,总称为完整性测量)。在允许该端点访问该网络前使用可信网络连接根据网络访问策略确认这些测量。

认证和互操作性

⁠新的信任实施

目前在 Red Hat Enterprise Linux 5.9 客户端以及之后的 Red Hat Enterprise Linux 6.3 客户端中支持使用在 Active Directory 中定义的用户 ID 或者组 ID,而不是由用户安全标识符生成的用户 ID 或者组 ID。如果在 Active Directory 中定义了 POSIX 属性,这个信任实施就很有用。

⁠已更新 slapi-nis 插件

Red Hat Enterprise Linux 7.0 拥有更新后的目录服务器插件 slapi-nis,该插件允许 Active Directory 用户在原有客户端中进行认证。注:这个功能时技术预览。

⁠IPA 的备份和恢复机制

IPA 组件的备份和恢复机制在 Red Hat Enterprise Linux 7.0 中是作为技术预览提供。

⁠Samba 4.1.0

Red Hat Enterprise Linux 7.0 中包括升级到最新 upstream 版本的 samba 软件包,该软件包引进了一些 bug 修复和改进,最主要的是支持服务器和客户端工具中的 SMB3 协议。

另外,SMB3 传输可启用对支持 SMB3 的 Windows 服务器以及 Samba 服务器的加密传输连接。同时,Samba 4.1.0 添加了对服务器端复制操作的支持。采用支持服务器端复制操作的客户端,比如最新的 Windows 发行本应体验到明显的文件复制操作性能提高。

警告

更新后的 samba 软件包删除了一些已弃用的配置选项。最主要的是服务器角色 security = share 和 security = server。另外,已完全删除网页配置工具 SWAT。有关详情请参考 Samba 4.0 和 4.1 发行注记:

https://www.samba.org/samba/history/samba-4.0.0.html

https://www.samba.org/samba/history/samba-4.1.0.html

注:更新了一些 tdb 文件。就是说您启动 smbd 的新版本后就会升级所有 tdb 文件。您无法降级到原来的 Samba 版本,除非您备份那些 tdb 文件。

有关这些变化的详情请参考上述 Samba 4.0 和 4.1 发行注记。

⁠AD 和 LDAP sudo 提供程序的用法

AD 提供程序是一个用来连接 Active Directory 服务器的后端程序。在 Red Hat Enterprise Linux 7.0 中,支持将 AD sudo 提供程序与 LDAP 提供持续一同使用是最为一项技术预览提供的。要启用 AD sudo 提供程序,请在 sssd.conf 文件的 domain 部分添加 sudo_provider=ad 设置。

 

本系列文章来自 RHEL 7.0 的发行注记,完整内容请移步:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

来源:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

Linux:RHEL 7特性说明(九):Web服务器和相关服务

Red Hat Enterprise Linux 7.0 是 Red Hat 的下一代操作系统完整套件,旨在用于关键任务企业级计算以及顶级企业级软件和硬件零售商认证。

Linux:RHEL 7特性说明(九):Web服务器和相关服务
Linux:RHEL 7特性说明(九):Web服务器和相关服务

Apache HTTP 服务器 2.4

Red Hat Enterprise Linux 7.0 中包含的 Apache HTTP 服务器版本 2.4(httpd)包含下列新功能:

  • “事件”处理模块的加强版,提高了异步请求进程和性能;
  • mod_proxy 模块中固有的 FastCGI 支持;
  • 使用 Lua 语言支持内嵌的脚本。

有关 httpd 2.4 中的功能和变化请参考http://httpd.apache.org/docs/2.4/new_features_2_4.html

包含配置文件的指南请查看http://httpd.apache.org/docs/2.4/upgrading.html

⁠MariaDB 5.5

Red Hat Enterprise Linux 7.0 中 MySQL 的默认实施是 MariaDB。MariaDB 是由社区人员开发的 MySQL 数据库项目,并提供 MySQL 的替代品。MariaDB 保留了与 MySQL 的 API 和 ABI 兼容性,并添加了一些新功能。例如:未阻断的客户端 API 库,有加强性能的 Aria 和 XtraDB 存储引擎,更优的服务器状态变量或者改进的复制功能。

有关 MariaDB 的详情请参考 https://mariadb.com/kb/en/what-is-mariadb-55/

⁠PostgreSQL 9.2

PostgreSQL 是一个高级对象关系数据库管理系统(DBMS)。postgresql 软件包包括 PostgreSQL 服务器软件包及访问 PostgreSQL DBMS 服务器所需客户端程序和库。Red Hat Enterprise Linux 7.0 提供 PostgreSQL 版本 9.2.有关新功能、bug 修复以及与 Red Hat Enterprise Linux 6 提供的版本 8.4 之间可能的不兼容性列表,请参考 upstream 发行注记:

或者 PostgreSQL wiki 网页:

 

本系列文章来自 RHEL 7.0 的发行注记,完整内容请移步:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

来源:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

CentOS/Linux:如何编译最新版的linux 内核

当linux内核社区有新的版本发布的时候,如果你也想升级你的centos或者centos系统的内核版本,那么如何通过源码升级linux的内核吗。本文将会讲述如何从linux 内核官方下载最新的内核版本,并升级安装。

1、查看系统内核版本

1
2
#uname -r
2.6.18-92.el5

2、下载最新版本linux内核
输入下面的命令:

1
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.13.tar.gz  .

3、清除环境变量,即清除配置文件

1
$ make mrproper

4、 在菜单模式下选择需要编译的内核模块

1
$make menuconfig

#需要 gcc 和 ncurses-devel 的支持,如果没有安装,yum 安装

5、编译内核

1
#make && make modules_install && make install

或者逐步执行:

#make clean确保所有东西均保持最新状态.

#make bzImage 生成内核文件

#make modules 编译模块

#make modules_install 安装模块

#make install 安装

#mkinitrd /boot/initrd_2.6.18.img 根据内核版本和指定参数生成映像文件

#cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.18
#cp /usr/src/linux-2.6.18/System.map /boot/System.map-2.6.18

6、重新配置grub引导程序

1
#vi /boot/grub/grub.conf  #以新内核启动系统,重启系统;