CentOSPlus存储库 - 《The CentOSPlus Repository》的中文翻译

CentOSPlus存储库

1. 什么是CentOSPlus存储库

CentOSPlus 存储库包含的包是对CentOS base+CentOS updates存储库中的包的升级。这些软件包不是上游发行版的一部分,并以牺牲上游兼容性为代价扩展了CentOS的功能。启用此存储库会使CentOS与上游有所不同。在启用CentOSPlus之前,您应该了解此含义。您可以在我们的镜像上浏览CentOSPlus目录中的CentOS 6CentOS 7CentOS 8,以了解要使用的体系结构。

该CentOSPlus库包含组包,所有这些都更新。您可能不希望整体启用CentOSPlus,而是希望选择要使用的确切软件包。

在启用 CentOSPlus 存储库之前,您应该阅读有关yum中的includepkgs=和/或exclude=选项的信息。要了解这些选项,请在命令行中使用以下命令:

man yum.conf

2. 启用CentOSPlus储存库

要启用 CentOSPlus 存储库,请编辑文件/etc/yum.repos.d/CentOS-Base.repo并查找[centosplus]部分。默认情况下如下所示:

#additional packages that extend functionality of existing packages 
[centosplus] 
name=CentOS-$releasever - Plus 
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus 
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ 
gpgcheck=1 
enabled=0 
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5  <== -CentOS-6 in CentOS-6 
  • 例1: 我们想要带有mysql_pgsql支持的新CentOSPlus后缀。这是设置/etc/yum.repos.d/CentOS-Base.repo的方法:

    #additional packages that extend functionality of existing packages 
    [centosplus] 
    name=CentOS-$releasever - Plus 
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus 
    #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ 
    gpgcheck=1 
    enabled=1 
    gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5 
    includepkgs=postfix-* 
    exclude=postfix-*plus*
    

    您还希望将其添加到/etc/yum.repos.d/CentOS-Base.repo[base][update]部分,以便不再从那里获取postfix软件包:

    exclude=postfix-* 
    
  • 例2:我们要使用CentOSPlus内核来使用jfs或reiserfs文件系统以及创建工具。我们将编辑/etc/yum.repos.d/CentOS-Base.repo并在[centosplus]部分中修改以下内容:

    enabled=1 
    includepkgs=kernel* jfsutils reiserfs-utils 
    

    [base][update]部分中,您将执行以下操作:

    exclude=kernel kernel-devel kernel-PAE-* 
    

3. yum-plugin-priorities

保护系统免受CentOSPlus存储库更新的另一种方法是使用yum-plugin-priorities插件。这是推荐的方法。按照链接中显示的说明进行操作,并设置yum-plugin-priorites。编辑/etc/yum.conf并添加以下行:

plugins=1 

您将在/etc/yum.repos.d/CentOS-Base.repo中设置优先级,如下所示:

[base] 
exclude=foo bar 
priority=1  

[update] 
exclude=foo bar 
priority=1  

[centosplus] 
enable=1 
priority=2 

这将使[base][update]存储库比[centosplus]存储库具有更高的优先级,因此CentOSPlus中唯一将更新[base][update]的项目是那些使用exclude=设置从这些存储库中排除的项目。

因此,使用yum plugin priorities可以跳过在CentOS-Base.repo的[centosplus]设置的includepkgs=部分,但它仍然只允许更新从[base]和[update]存储库中exclude=的包。

4. CentOSPlus内核差异

通常,关于CentOSPlus内核与默认(基本)内核到底有什么不同的问题?随着新内核的发布,这可能会有所不同,但是(下文)是一种获取配置差异的详细列表的方法。您将需要同时安装默认版本和Plus版本的内核源。然后,在shell提示符下运行:

diff -y --width=80 --suppress-common-lines -b -B -d \
/<path/to/default/kernel source>/.config \
/<path/to/Plus/kernel/source>/.config

如下所示,针对本文撰写的版本(2015年8月)的上述命令的输出应使您对CentOSPlus内核中包含的更改(主要是其他驱动程序和扩展驱动程序选项)有一个清晰的了解,但是您需要运行上面的命令查看当前列表。(Key: > = insert, < = deletion, | = change)从内核源代码树的顶层目录,make menuconfig将解释每个选项的含义。

# diff -y --suppress-common-lines -b -B -d 2.6.32-573.3.1.el6.x86_64/.config 2.6.32-573.3.1.el6-centos-plus/.config
# awk '{
#   gsub(/\t/," ");
#   i=split($0,myarray,/[<|>]/);
#   match($0,/([>|<])/,separray);
#   gsub(/[ ]*$/,"",myarray[1]);
#   printf("%-40s%2s%-40s\n",myarray[1],separray[0],myarray[2]);
# }' config-diff.txt > config-diff.txt.edit
#
# Linux kernel version: 2.6.32-573.3.1.el6.x86_64 | # Linux kernel version: 2.6.32-573.3.1.el6.centos.plus.x86_64
# Thu Aug 13 22:49:26 2015               | # Fri Aug 14 00:54:22 2015
# CONFIG_ARPD is not set                 | CONFIG_ARPD=y
# CONFIG_IPX is not set                  | CONFIG_IPX=m
# CONFIG_ATALK is not set                | CONFIG_IPX_INTERN=y
                                            > CONFIG_ATALK=m
                                            > CONFIG_DEV_APPLETALK=m
                                            > CONFIG_IPDDP=m
                                            > CONFIG_IPDDP_ENCAP=y
                                            > CONFIG_IPDDP_DECAP=y
# CONFIG_IRDA is not set                 | CONFIG_IRDA=m
                                            > # IrDA protocols
                                            > CONFIG_IRLAN=m
                                            > CONFIG_IRNET=m
                                            > CONFIG_IRCOMM=m
                                            > CONFIG_IRDA_ULTRA=y
                                            > # IrDA options
                                            > CONFIG_IRDA_CACHE_LAST_LSAP=y
                                            > CONFIG_IRDA_FAST_RR=y
                                            > # CONFIG_IRDA_DEBUG is not set
                                            > # Infrared-port device drivers
                                            > # SIR device drivers
                                            > CONFIG_IRTTY_SIR=m
                                            > # Dongle support
                                            > CONFIG_DONGLE=y
                                            > CONFIG_ESI_DONGLE=m
                                            > CONFIG_ACTISYS_DONGLE=m
                                            > CONFIG_TEKRAM_DONGLE=m
                                            > CONFIG_TOIM3232_DONGLE=m
                                            > CONFIG_LITELINK_DONGLE=m
                                            > CONFIG_MA600_DONGLE=m
                                            > CONFIG_GIRBIL_DONGLE=m
                                            > CONFIG_MCP2120_DONGLE=m
                                            > CONFIG_OLD_BELKIN_DONGLE=m
                                            > CONFIG_ACT200L_DONGLE=m
                                            > CONFIG_KINGSUN_DONGLE=m
                                            > CONFIG_KSDAZZLE_DONGLE=m
                                            > CONFIG_KS959_DONGLE=m
                                            > # FIR device drivers
                                            > CONFIG_USB_IRDA=m
                                            > CONFIG_SIGMATEL_FIR=m
                                            > CONFIG_NSC_FIR=m
                                            > CONFIG_WINBOND_FIR=m
                                            > CONFIG_SMC_IRCC_FIR=m
                                            > CONFIG_ALI_FIR=m
                                            > CONFIG_VLSI_FIR=m
                                            > CONFIG_VIA_FIR=m
                                            > CONFIG_MCS_FIR=m
# CONFIG_SCSI_DPT_I2O is not set         | CONFIG_SCSI_DPT_I2O=m
# CONFIG_SCSI_BUSLOGIC is not set        | CONFIG_SCSI_BUSLOGIC=m
# CONFIG_PATA_CMD640_PCI is not set      | CONFIG_PATA_CMD640_PCI=m
# CONFIG_PATA_CS5520 is not set          | CONFIG_PATA_CS5520=m
# CONFIG_PATA_CS5530 is not set          | CONFIG_PATA_CS5530=m
# CONFIG_PATA_CYPRESS is not set         | CONFIG_PATA_CYPRESS=m
# CONFIG_PATA_EFAR is not set            | CONFIG_PATA_EFAR=m
# CONFIG_PATA_HPT3X3_DMA is not set      | CONFIG_PATA_HPT3X3_DMA=y
# CONFIG_PATA_TRIFLEX is not set         | CONFIG_PATA_TRIFLEX=m
# CONFIG_PATA_MPIIX is not set           | CONFIG_PATA_MPIIX=m
# CONFIG_PATA_NS87410 is not set         | CONFIG_PATA_NS87410=m
# CONFIG_PATA_NS87415 is not set         | CONFIG_PATA_NS87415=m
# CONFIG_PATA_OPTI is not set            | CONFIG_PATA_OPTI=m
# CONFIG_PATA_OPTIDMA is not set         | CONFIG_PATA_OPTIDMA=m
# CONFIG_PATA_RADISYS is not set         | CONFIG_PATA_RADISYS=m
# CONFIG_PATA_RZ1000 is not set          | CONFIG_PATA_RZ1000=m
# CONFIG_PATA_SC1200 is not set          | CONFIG_PATA_SC1200=m
# CONFIG_PATA_WINBOND is not set         | CONFIG_PATA_WINBOND=m
# CONFIG_I2O is not set                  | CONFIG_I2O=m
                                            > CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
                                            > CONFIG_I2O_EXT_ADAPTEC=y
                                            > CONFIG_I2O_EXT_ADAPTEC_DMA64=y
                                            > # CONFIG_I2O_CONFIG is not set
                                            > # CONFIG_I2O_BUS is not set
                                            > # CONFIG_I2O_BLOCK is not set
                                            > # CONFIG_I2O_SCSI is not set
                                            > # CONFIG_I2O_PROC is not set
# CONFIG_NET_SB1000 is not set           | CONFIG_NET_SB1000=m
# CONFIG_HP100 is not set                | CONFIG_HP100=m
# CONFIG_ATP is not set                  | CONFIG_ATP=m
# CONFIG_DE600 is not set                | CONFIG_DE600=m
# CONFIG_DE620 is not set                | CONFIG_DE620=m
# CONFIG_HAMACHI is not set              | CONFIG_HAMACHI=m
# CONFIG_YELLOWFIN is not set            | CONFIG_YELLOWFIN=m
# CONFIG_ATM_LANAI is not set            | CONFIG_ATM_LANAI=m
# CONFIG_ATM_ENI is not set              | CONFIG_ATM_ENI=m
# CONFIG_ATM_FIRESTREAM is not set       | # CONFIG_ATM_ENI_DEBUG is not set
# CONFIG_ATM_ZATM is not set             | CONFIG_ATM_ENI_TUNE_BURST=y
# CONFIG_ATM_IDT77252 is not set         | # CONFIG_ATM_ENI_BURST_TX_16W is not set
# CONFIG_ATM_AMBASSADOR is not set       | CONFIG_ATM_ENI_BURST_TX_8W=y
# CONFIG_ATM_HORIZON is not set          | CONFIG_ATM_ENI_BURST_TX_4W=y
# CONFIG_ATM_IA is not set               | CONFIG_ATM_ENI_BURST_TX_2W=y
# CONFIG_ATM_FORE200E is not set         | CONFIG_ATM_ENI_BURST_RX_16W=y
# CONFIG_ATM_HE is not set               | CONFIG_ATM_ENI_BURST_RX_8W=y
# CONFIG_ATM_SOLOS is not set            | CONFIG_ATM_ENI_BURST_RX_4W=y
                                            > CONFIG_ATM_ENI_BURST_RX_2W=y
                                            > CONFIG_ATM_FIRESTREAM=m
                                            > CONFIG_ATM_ZATM=m
                                            > # CONFIG_ATM_ZATM_DEBUG is not set
                                            > CONFIG_ATM_IDT77252=m
                                            > # CONFIG_ATM_IDT77252_DEBUG is not set
                                            > CONFIG_ATM_IDT77252_RCV_ALL=y
                                            > CONFIG_ATM_IDT77252_USE_SUNI=y
                                            > CONFIG_ATM_AMBASSADOR=m
                                            > # CONFIG_ATM_AMBASSADOR_DEBUG is not set
                                            > CONFIG_ATM_HORIZON=m
                                            > # CONFIG_ATM_HORIZON_DEBUG is not set
                                            > CONFIG_ATM_IA=m
                                            > # CONFIG_ATM_IA_DEBUG is not set
                                            > CONFIG_ATM_FORE200E=m
                                            > CONFIG_ATM_FORE200E_USE_TASKLET=y
                                            > CONFIG_ATM_FORE200E_TX_RETRY=16
                                            > CONFIG_ATM_FORE200E_DEBUG=0
                                            > CONFIG_ATM_HE=m
                                            > CONFIG_ATM_HE_USE_SUNI=y
                                            > CONFIG_ATM_SOLOS=m
# CONFIG_DEFXX is not set                | CONFIG_DEFXX=m
# CONFIG_SKFP is not set                 | CONFIG_DEFXX_MMIO=y
                                            > CONFIG_SKFP=m
# CONFIG_LOGITECH_FF is not set          | CONFIG_LOGITECH_FF=y
# CONFIG_REISERFS_FS is not set          | CONFIG_REISERFS_FS=m
# CONFIG_JFS_FS is not set               | # CONFIG_REISERFS_CHECK is not set
                                            > # CONFIG_REISERFS_PROC_INFO is not set
                                            > CONFIG_REISERFS_FS_XATTR=y
                                            > CONFIG_REISERFS_FS_POSIX_ACL=y
                                            > CONFIG_REISERFS_FS_SECURITY=y
                                            > CONFIG_JFS_FS=m
                                            > CONFIG_JFS_POSIX_ACL=y
                                            > CONFIG_JFS_SECURITY=y
                                            > # CONFIG_JFS_DEBUG is not set
                                            > # CONFIG_JFS_STATISTICS is not set
# CONFIG_SECURITY_PATH is not set        | CONFIG_SECURITY_PATH=y
# CONFIG_SECURITY_TOMOYO is not set      | CONFIG_SECURITY_TOMOYO=y

此命令仅显示与内核配置的差异。其他差异还包括修复某些问题的补丁程序(在CentOS错误跟踪器中找到),直到这些补丁程序被集成到上游为止(这时它们在plus内核中变得毫无意义并被删除)。要查看已修复的错误以及已启用的功能,最简单的方法是查看变更日志。请注意,您可以使用源rpm或二进制rpm。

$ rpm -qp --changelog内核-2.6.32-573.3.1.el6.centos.plus.src.rpm | 更多
    * 2015年8月13日,星期四Akemi Yagi <[email protected]> [2.6.32-573.3.1.el6.centos.plus] 
-参与CentOS品牌推广
-为i686和x86_64添加了新的配置文件,并启用了其他功能
    包括一些网络适配器,一些ATM,所有串行ATA,Adaptec I2O,
    ARPD,BusLogic,IPX,Appletalk,ReiserFS,JFS,TOMOYO 
-添加了用于编译jfs模块的修复程序[bug#5453] 
-在TOMOYO中添加了针对种族的修复程序[bug#5378] 
-为usermodehelper添加了一个修复程序[bug#5588] 
-添加了一个补丁程序,该补丁程序使非LogiTech遥控器可以工作[bug#5780] 
-添加了sysfs-fix-printk-warnings-bug6157.patch [bug#6157] 
-添加了fs-tmpfs-add-xattrs-support.patch [bug#4586.18700] 
-添加了fix-fadvise-for-tmpfs.patch [bug#6938] 
-在配置[bug#7055]中启用了DEBUG_KMEMLEAK-添加了对控创的支持[bug#7270] 
-禁用BRIDGE_IGMP_SNOOPING [bug#7796],然后从504.23.4 [bug#8862]开始启用 
-启用IRDA(回归)[bug#8070] 
-添加了补丁以修复reiserfs中的重新定义错误

5. 总结

使用 CentOSPlus 存储库比使用其他CentOS存储库更加危险,因为它被设计为具有多个更新的软件包,并且实际上并没有被完全启用。

您可以使用CentOSPlus中的所有程序包,但是通常只有一个人会选择他们要查找的程序包,并使用exclude=includepkgs= (或exclude=yum-plugin-priorities)仅从 CentOSPlus 存储库中加载那些程序包。

在使用 CentOSPlus 存储库之前,请确保您了解所有这些概念。

猜你喜欢

转载自blog.csdn.net/lijiewen2017/article/details/127680104