中标麒麟操作系统yum源配置

在 linux 系统上,解决软件包之间的依赖关系是很重要的事。很多工作无法实现可能就是因为缺少一个软件包,而当你千方百计找到这个软件包的时候,却发现它跟当前系统不兼容。所以,要做的非常重要的一件事情就是给系统添加软件仓库,以确保能安装使用大部分软件包。(亲测)建议看完文章再动手配置【换源之后不建议对系统软件全部进行更新

实验环境:

[1-06@localhost Desktop]$ uname -a
Linux localhost 4.4.13-200.nd7.3.x86_64 #1 SMP Sat Jul 8 23:22:12 CST 2017 x86_64 x86_64 x86_64 GNU/Linux

中标麒麟软件下载命令为:yum  install

和fedora,Redhat,centos类似,相似于centos系统

中标麒麟-网易163 yum源配置

1.进入到/etc/yum/repos.d/目录中(该目录存放着yum软件仓库的配置文件)

[2-05@localhost yum.repos.d]$ cd /etc/yum.repos.d/
[2-05@localhost yum.repos.d]$ ls
neokylin.repo  neokylin-updates.repo

2.删除原有的yum源

[2-05@localhost yum.repos.d]$ rm -f *

3.使用vim编辑器创建一个新的配置文件(文件名称可随意,但后缀必须为.repo)

[2-05@localhost yum.repos.d]$ sudo vim mirrors.163.com.repo

配置参数:

[2-05@localhost yum.repos.d]$ cat mirrors.163.com.repo
[mirrors.163.com]
name=mirrors.163.com
baseurl=http://mirrors.163.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0

4.检查配置是否正确

[2-05@localhost yum.repos.d]$ yum repolist
已加载插件:langpacks
mirrors.163.com                                                                                                                  | 3.6 kB  00:00:00     
(1/2): mirrors.163.com/group_gz                                                                                                  | 166 kB  00:00:00     
(2/2): mirrors.163.com/primary_db                                                                                                | 6.0 MB  00:00:01     
源标识                                                                   源名称                                                                   状态
mirrors.163.com                                                          mirrors.163.com                                                          10,019
repolist: 10,019

5.更新Yum缓存

[root@localhost yum.repos.d]#  yum list
[root@localhost yum.repos.d]#  yum clean all 
[root@localhost yum.repos.d]#  yum makecache

中标麒麟-阿里云yum源配置

1.在线下载【需要连网】

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

2.Centos-7.repo文件中以$开始的变量进行替换

sed -i  's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo

3.更新yum缓存

清空缓存:yum clean all
生成缓存:yum makecache

中标麒麟-官方yum源配置

注意 :操作系统使用的源不同可能会对整个操作系统产生影响,用户想要使用中标麒麟官方源,可按照下面配置 /etc/yum.repo.d/ 中的源文件。在/etc/yum.repo.d/ 文件夹中有neokylin.repo和neokylin-updates.repo两个文件配置如下:

neokylin.repo

[root@localhost yum.repos.d]# cat neokylin.repo 
[neokylin]
name= NeoKylin 7.0
baseurl=http://download.cs2c.com.cn/neokylin/desktop/releases/7.0/x86_64/zx/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neokylin-$basearch

[neokylin-32]
name= NeoKylin 7.0 32-bit
baseurl=http://download.cs2c.com.cn/neokylin/desktop/releases/7.0/i386/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neokylin-i386

neokylin-updates.repo

[root@localhost yum.repos.d]# cat neokylin-updates.repo 
[neokylin-updates]
name= NeoKylin 7.0 Updates
baseurl=http://download.cs2c.com.cn/neokylin/desktop/updates/7.0/x86_64/zx/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neokylin-$basearch

[neokylin-updates-32]
name= NeoKylin 7.0 Updates 32-bit
baseurl=http://download.cs2c.com.cn/neokylin/desktop/updates/7.0/i386/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neokylin-i386

问题:本人设置的官方yum源中,包含32位和64位yum源配置,在使用的时候可以根据自己的需求对yum源进行配置。本人在使用yum源【官方yum源、163或centos源都会出现这种问题】安装软件的时候会出现很多软件包依赖问题,解决办法在下面文章中。【在下在网上查找一种方法,使用 NeoKylin-Live-Desktop-7.0-SDK-x86_64-B036-20160811.iso 镜像安装软件解决依赖包问题,目前还在测试中 】

---> Package xml-commons-resolver.noarch 0:1.2-17.nd7.1 will be installed
--> Finished Dependency Resolution
Error: Package: 1:cups-1.7.5-13.nd7.4.x86_64 (neokylin)
           Requires: libdbus-1.so.3(LIBDBUS_1_3)(64bit)
           Available: 1:dbus-libs-1.8.6-3.nd7.4.x86_64 (neokylin)
               libdbus-1.so.3(LIBDBUS_1_3)(64bit)
           Installed: 1:dbus-libs-1.8.20-1.nd7.1.x86_64 (@neokylin-updates-32/"7.0")
               Not found
           Available: 1:dbus-libs-1.8.6-3.nd7.1.i686 (neokylin-32)
               Not found
Error: Package: filezilla-3.8.1-3.nd7.7.x86_64 (neokylin)
           Requires: libdbus-1.so.3(LIBDBUS_1_3)(64bit)
           Available: 1:dbus-libs-1.8.6-3.nd7.4.x86_64 (neokylin)
               libdbus-1.so.3(LIBDBUS_1_3)(64bit)
           Installed: 1:dbus-libs-1.8.20-1.nd7.1.x86_64 (@neokylin-updates-32/"7.0")
               Not found
           Available: 1:dbus-libs-1.8.6-3.nd7.1.i686 (neokylin-32)
               Not found
Error: Package: caja-1.8.2-1.nd7.105.x86_64 (neokylin-updates)
           Requires: libdbus-1.so.3(LIBDBUS_1_3)(64bit)
           Available: 1:dbus-libs-1.8.6-3.nd7.4.x86_64 (neokylin)
               libdbus-1.so.3(LIBDBUS_1_3)(64bit)
           Installed: 1:dbus-libs-1.8.20-1.nd7.1.x86_64 (@neokylin-updates-32/"7.0")
               Not found
           Available: 1:dbus-libs-1.8.6-3.nd7.1.i686 (neokylin-32)
               Not found

ps:本文章持续更新,致力于解决中标麒麟操作系统软件安装的各种问题,欢迎各路大神提出宝贵意见【仅安装问题】

2019-09-15

多次折腾终于可以实现yum update更新

1、实验环境:

[root@root01 ~]# cat /etc/issue
NeoKylin Linux Desktop release 7.0 (zhaoxin)
Kernel \r on an \m (\l)

[root@root01 ~]# uname -a
Linux root01 4.4.13-200.nd7.3.x86_64 #1 SMP Sat Jul 8 23:22:12 CST 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@root01 ~]# 

2、官方yum源:

[root@root01 ~]# cd /etc/yum.repos.d/

[root@root01 yum.repos.d]# ls
neokylin.repo  neokylin-updates.repo

[root@root01 yum.repos.d]# cat neokylin*

[neokylin]
name= NeoKylin 7.0
baseurl=http://download.cs2c.com.cn/neokylin/desktop/releases/7.0/x86_64/zx/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neokylin-$basearch


[neokylin-updates]
name= NeoKylin 7.0 Updates
baseurl=http://download.cs2c.com.cn/neokylin/desktop/updates/7.0/x86_64/zx/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neokylin-$basearch

3、错误提示及解决:

[root@root01 yum.repos.d]# yum -y update  --skip-broken
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package PackageKit.x86_64 0:1.0.10-1.nd7.3 will be updated
。。。。。。

Error:  Multilib version problems found. This often means that the root
       cause is something else and multilib version checking is just
       pointing out that there is a problem. Eg.:
       
         1. You have an upgrade for gtk3 which is missing some
            dependency that another package requires. Yum is trying to
            solve this by installing an older version of gtk3 of the
            different architecture. If you exclude the bad architecture
            yum will tell you what the root cause is (which package
            requires what). You can try redoing the upgrade with
            --exclude gtk3.otherarch ... this should give you an error
            message showing the root cause of the problem.
       
         2. You have multiple architectures of gtk3 installed, but
            yum can only see an upgrade for one of those architectures.
            If you don't want/need both architectures anymore then you
            can remove the one with the missing update and everything
            will work.
       
         3. You have duplicate versions of gtk3 installed already.
            You can use "yum check" to get yum show these errors.
       
       ...you can also use --setopt=protected_multilib=false to remove
       this checking, however this is almost never the correct thing to
       do as something else is very likely to go wrong (often causing
       much more problems).
       
       Protected multilib versions: gtk3-3.22.10-5.nd7.1.x86_64 != gtk3-3.14.15-1.nd7.2.x86_64


[root@root01 yum.repos.d]# yum install gtk3
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package gtk3.x86_64 0:3.14.15-1.nd7.2 will be updated


[root@root01 yum.repos.d]# yum -y update  --skip-broken
。。。。。。成功执行update命令
Replaced:
  PackageKit-cached-metadata.x86_64 0:1.0.10-1.nd7.3                                 
  libertas-usb8388-firmware.noarch 2:20150904-56.git6ebf5d57.nd7.1                   
  xorg-x11-drv-modesetting.x86_64 0:0.9.0-2.nd7.1                                    

Complete!

说明:在yum更新过程中总是出现一些安装包依赖问题不能解决,然后执行提示命令

You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
}

显示如上图gtk3所示,我把gtk3重新安装了一下,就解决了一些包的依赖问题,出现依赖问题的原因目前正在探索中,望各位高手指点迷津。

ps:今天在执行centos7的时候,yum update时也提示一些软件包依赖问题,错误提示如下:

Error: Package: nettle-3.2-2.el6.x86_64 (epel)
           Requires: libgmp.so.3()(64bit)
Error: Package: gnutls-3.3.26-9.el7.x86_64 (base)
           Requires: libnettle.so.4()(64bit)
           Removing: nettle-2.7.1-4.el7.x86_64 (installed)
               libnettle.so.4()(64bit)
           Updated By: nettle-3.2-2.el6.x86_64 (epel)
              ~libnettle.so.6()(64bit)
           Available: nettle-2.7.1-8.el7.x86_64 (base)
               libnettle.so.4()(64bit)
Error: Package: gnutls-3.3.26-9.el7.x86_64 (base)

这是由于EPEL版本不对导致的,依次执行下面的命令就好了

yum remove epel-release
yum --enablerepo=extras install epel-release
yum clean all

关于yum、apt-get、rpm之类的软件管理工具,本人正在一步一步探索中希望以后能够将其原理解析一下,为国产软件以及开源事业尽绵薄之力 。

2020-06-29

中标麒麟操作系统发布的最新版本的操作系统,与上一版本相比linux内核降低了,yum工具使用起来比之前的版本好用一些,但官方软件源依然有待提高。

实验环境:

[neokylin@localhost Desktop]$ uname -a
Linux localhost.localdomain 3.10.0-862.9.1.nd7.zx.18.x86_64 #1 SMP Tue Nov 12 09:16:38 CST 2019 x86_64 x86_64 x86_64 GNU/Linux

1、中标麒麟官方源

因为没有用官方源,我把官方源放在新建的/etc/yum.repos.d/neokylin/文件夹下

2、中标麒麟第三方源配置

中标麒麟操作系统对标Fedora,Fedora和centos、redhat是直系关系,故centos能用的官方及第三方源理论上中标麒麟都能用,但是还是再次提醒,第三方源慎用,使用非官方提供的软件及依赖造成系统奔溃是常事。

Centos源配置

参见上文:中标麒麟-阿里云yum源配置中标麒麟-网易163 yum源配置

ElRepo 源配置

ElRepo 是国外的一个只对Linux操作系统的第三方免费软件资源库,支持Linux和CentOS操作系统的软件安装和升级,国内可用,以下配置只针对以上实验环境。

1、导入key

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2、安装ElRepo

命令安装总是出现问题,下面是安装:

yum install https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

如果上面yum成功可以忽略下面建议。

建议:直接创建elrepo.repo文件,把下面 ### 开始的内容拷贝到该文件中,更新即可:

[neokylin@localhost yum.repos.d]$ cat elrepo.repo 
### Name: ELRepo.org Community Enterprise Linux Repository for el7
### URL: http://elrepo.org/

[elrepo]
name=ELRepo.org Community Enterprise Linux Repository - el7
baseurl=http://elrepo.org/linux/elrepo/el7/$basearch/
	http://mirrors.coreix.net/elrepo/elrepo/el7/$basearch/
	http://mirror.rackspace.com/elrepo/elrepo/el7/$basearch/
	http://repos.lax-noc.com/elrepo/elrepo/el7/$basearch/
	http://mirror.ventraip.net.au/elrepo/elrepo/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo.el7
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

[elrepo-testing]
name=ELRepo.org Community Enterprise Linux Testing Repository - el7
baseurl=http://elrepo.org/linux/testing/el7/$basearch/
	http://mirrors.coreix.net/elrepo/testing/el7/$basearch/
	http://mirror.rackspace.com/elrepo/testing/el7/$basearch/
	http://repos.lax-noc.com/elrepo/testing/el7/$basearch/
	http://mirror.ventraip.net.au/elrepo/testing/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-testing.el7
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

[elrepo-kernel]
name=ELRepo.org Community Enterprise Linux Kernel Repository - el7
baseurl=http://elrepo.org/linux/kernel/el7/$basearch/
	http://mirrors.coreix.net/elrepo/kernel/el7/$basearch/
	http://mirror.rackspace.com/elrepo/kernel/el7/$basearch/
	http://repos.lax-noc.com/elrepo/kernel/el7/$basearch/
	http://mirror.ventraip.net.au/elrepo/kernel/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

[elrepo-extras]
name=ELRepo.org Community Enterprise Linux Extras Repository - el7
baseurl=http://elrepo.org/linux/extras/el7/$basearch/
	http://mirrors.coreix.net/elrepo/extras/el7/$basearch/
	http://mirror.rackspace.com/elrepo/extras/el7/$basearch/
	http://repos.lax-noc.com/elrepo/extras/el7/$basearch/
	http://mirror.ventraip.net.au/elrepo/extras/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-extras.el7
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

Epel源配置

EPEL (Extra Packages for Enterprise Linux), 是由 Fedora Special Interest Group 维护的 Enterprise Linux(RHEL、CentOS)中经常用到的包。

1、下载新repo 到/etc/yum.repos.d/

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

2021-09-22

由于本人时间精力有限,不能回复每条评论,所以对评论区问题进行总结回答:

1、关于CPU

        CPU是区分架构和指令集的,为实现更高的效率CPU也一直在更新(位数、核数、集成GPU等功能)。不同架构的CPU适应不同的生成环境,使用的指令集也不尽相同但可能会有指令集的兼容性。

2、操作系统

        操作系统内核也是区分体系结构的

        

        以上图centos8操作系统为例,其同一个发行版本提供不同体系结构的操作系统镜像,不同体系结构的操作系统镜像适配相对应的CPU。如果x86_64的操作系统镜像安装在i386的CPU上会发生什么问题呢?会出现兼容性问题,导致安装失败

3、应用层软件(主要想说明的问题)

        操作系统内核肯定是区分体系结构的,如x86_64、ppc64、aarch64、s390x等,不同的体系结构肯定是要编译出针对性的内核来运行(兼容的除外)。上层软件分为体系结构相关和不相关,体系结构相关的也要分不同体系结构分开编译(同上),体系结构不相关的如一些文档或者如python等高级语言写的简单软件则可以一次编译处处运行。32位处理器能装64位系统吗?是否有处理器有x86和x64两种版本? - 知乎

rpm软件包的文件名中,不仅包含了软件名称,版本信息,还包括了适用的硬件架构的信息。
i386指这个软件包适用于intel 80386以上的x86架构的计算机(AI32)i686指这个软件包适用于intel 80686以上(奔腾pro以上)的x86架构的计算机(IA32)
noarch指这个软件包与硬件架构无关,可以通用。
i686软件包通常针对CPU进行了优化,现在通常配置的机器都可以使用i686软件包。

        对于已经编译成二进制的rpm包,由于操作系统环境不同,一般不能混用。对于以src.rpm发行的软件包,由于需要安装时进行本地编译,所以通常可以在不同系统下安装。

RPM包管理及硬件架构问题_郑陆伟先生_新浪博客

        本文使用的实验环境是x86_64体系结构的NeoKylin操作系统【该系统镜像我也没有,大家可以自行与NeoKylin联系申请使用】。

NeoKylin桌面版官方源:

        Index of /neokylin/desktop/releases/7.0

        在配置第三方源的时候注意操作系统的体系结构,选择与之相对应的软件包或noarch软件包。

        以后有时间会对CPU、操作系统、应用层软件的体系结构进行详细介绍,欢迎补充!!!!

  • 20
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
Linux操作系统中,配置yum源有多种方法。以下是三种常用的方法: 1. 配置网络yum源:这是最常见的方法。通过编辑yum源配置文件,您可以指定使用哪个镜像站点来下载软件包。这可以通过编辑/etc/yum.repos.d/目录下的相应配置文件来实现。您可以在这些配置文件中添加或修改baseurl参数来指定所需的yum源地址。 2. 通过上传镜像文件配置本地yum源:这种方法适用于在服务器上已经下载了yum源的情况。您可以将下载好的镜像文件上传到服务器,并通过编辑yum源配置文件来指定使用本地镜像文件进行软件包的安装。 3. 通过连接存储或本地镜像文件配置本地yum源(虚拟机):如果您正在使用虚拟机,可以通过连接存储或使用本地镜像文件来配置本地yum源。这种方法需要您提前准备好存储设备或镜像文件,并在虚拟机中进行相应的设置。具体的步骤可以根据不同的虚拟化平台进行配置。 在配置任何一种yum源之前,您需要知道您的Linux系统的版本。您可以通过运行以下命令来查看系统版本:cat /etc/redhat-release。这将显示您的系统的版本信息。 配置yum源时,如果您想从国内镜像站点下载软件包以提高下载速度,您可以修改yum源配置,将默认的国外centos官方源更改为国内镜像站点。具体步骤可以根据您使用的Linux发行版来进行配置。一般情况下,您需要编辑相应的yum源配置文件,并修改baseurl参数为国内镜像站点的地址。这样,在使用yum工具安装软件时,将会从国内镜像站点下载软件包,从而提高下载速度。 总结起来,配置Linux操作系统yum源可以通过配置网络yum源、上传镜像文件配置本地yum源或连接存储或本地镜像文件配置本地yum源来实现。在配置之前,您需要确定您的系统版本,并可以根据需要将默认的yum源配置更改为国内镜像站点以提高下载速度。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值