一、OpenSUSE软件源介绍:


1、默认已经加入了官方的软件源,不过我们自己也可以根据需要添加很多非官方软件源,添加软件源时要注意:


    非官方源可能包含一些试验中的不稳定的软件包

    不同的软件源之间并不一定是兼容的

    一个非官方软件源并不是永久稳定且可信的

    过多的软件源将会降低软件包管理器的速度


2、推荐的软件源

您必须一直要保持有这四个 官方 软件源(当然是默认配置好的)。


    Main Repository (OSS)(开源的软件)

    Main Repository (NON-OSS)(非开源软件)

    Main Update Repository(开源软件安全更新)

    Main Update Repository (NON-OSS)(非开源软件安全更新)



对于国内用户而言,用官方的软件源还是相当慢的,国内有些厂商或者组织提供了免费的源镜像,速度不错,感觉比较好用的几个:


    阿里源      ​​https://opsx.alibaba.com/mirror​​              #有使用帮助

    网易163源   ​​http://mirrors.163.com/​​                      #无使用帮助

    清华TUNA源  ​​https://mirrors.tuna.tsinghua.edu.cn/ ​​       #无使用帮助

    


官方的源提供的软件有限还需要社区软件源,来扩展可用软件。


    Packman Repository   多媒体编解码器-播放器、Broadcom无线网卡驱动、游戏等,这个软件源非常重要.

   

二、桌面环境下添加软件源


1、添加国内的软件源


以阿里的为例


在阿里源网站https://opsx.alibaba.com/依次点击opensuse => distribution/  => leap/  => 42.3/ => repo/ => oss/ 通过这样的选择就会在浏览器网站

得到https://mirrors.aliyun.com/opensuse/distribution/leap/42.3/repo/oss/ 这个网址,这个网址就是Main Repository (OSS)(开源的软件)源。


通过上面的选择就可以找到对应版本的软件源,当系统升级版本发成变化后就可以通过上面的方法找到对应的软件源。


通过上面的方法找到Main Repository (NON-OSS)(非开源软件)源

网址为:https://mirrors.aliyun.com/opensuse/distribution/leap/42.3/repo/non-oss/


找到Main Update Repository(开源软件安全更新)源

网址为:https://mirrors.aliyun.com/opensuse/update/leap/42.3/oss/


找到Main Update Repository (NON-OSS)(非开源软件安全更新)源

网址为:https://mirrors.aliyun.com/opensuse/update/leap/42.3/non-oss/


四个官方软件源的替代软件源

https://mirrors.aliyun.com/opensuse/distribution/leap/42.3/repo/oss/

https://mirrors.aliyun.com/opensuse/distribution/leap/42.3/repo/non-oss/

https://mirrors.aliyun.com/opensuse/update/leap/42.3/oss/

https://mirrors.aliyun.com/opensuse/update/leap/42.3/non-oss/


2、通过 YaST 可以添加、删除和管理国内软件源。


2.1、开始菜单 -> 系统 -> YaST ,在 YaST 里点击 "软件源",如下:

OpenSUSE42.3 leap 软件源设置_自动刷新

2.2、点击添加后出现添加软件源的方式,这里我们选择指定URL,如下图:

OpenSUSE42.3 leap 软件源设置_缓存_02

2.3、上面步骤点击下一步进入到软件源URL配置页面,在URL处输入上面的阿里源其中的一个,软件源名称可以自定义,最好定义有意义可以一目了然的,如下图:

OpenSUSE42.3 leap 软件源设置_软件源_03

2.4、上面步骤点击下一步如下图:

OpenSUSE42.3 leap 软件源设置_开源软件_04

2.5、上面步骤点击下一步,就完成了其中的一个软件源的添加,如下图,添加好了一个。

OpenSUSE42.3 leap 软件源设置_自动刷新_05

通过上面的方法依次添加其他三个,添加以后点击确定完成,YaST会自动刷新软件源。

 

3、添加Packman Repository 社区软件源

3.1、在2.2的添加软件源出选择添加方式为 社区软件源 点击下一步进入到在线软件源列表,如下图:

OpenSUSE42.3 leap 软件源设置_缓存_06

3 .2、选中Packman Repository选项后点击确定完成Packman Repository软件源的添加。

3.3、通过上面的方法安装的Packman Repository软件源是官方的,国内可能有点慢,可以添加阿里的, 添加方法是通过 指定URL,在阿里源网站https://opsx.alibaba.com/依次点击packman -->openSUSE_Leap_42.3/ 得到https://mirrors.aliyun.com/packman/openSUSE_Leap_42.3/

网站,将这个网址添加到制定URL处就可以正常添加了,添加这里就不在写具体的步骤了。

4、在YaST软件源处可以设置各个软件源的优先级,默认是99,数值越小优先级越高,软件的下载会从优先级高的软件源搜索获取,可以将国内的软件源优先级设置成比99更小的值,比如69

OpenSUSE42.3 leap 软件源设置_优先级_07

5、通过上面的添加会在/etc/zypp/repos.d/目录下生成对应的源文件,如下图:

OpenSUSE42.3 leap 软件源设置_软件源_08

 

三、通过zypper命令,在终端中管理软件源


1、OpenSUSE:~ #zypper help            #查看zypper命令的帮助信息


#截取部分常用选项


用法:

zypper  <命令> [--命令选项] [参数]


命令:

软件源管理:

repos, lr               列出全部已定义的软件源。    #repos可以简写为lr,下面的命令都有简写。

addrepo, ar             添加一个新软件源。

removerepo, rr          移除指定软件源。

renamerepo, nr          重命名指定软件源。

modifyrepo, mr          修改指定软件源。

refresh, ref            刷新全部软件源。

clean                   清理本地缓存。


2、OpenSUSE:~ # zypper help ar            #查看addrepo命令帮助信息。


addrepo (ar) [选项] <URI> <别名>

addrepo (ar) [选项] <文件.repo>


向系统中添加一个软件源。软件源可通过其 URI 指定也可从指定的 .repo 文件(甚至是远程)中读取。


  命令选项:

-r, --repo <文件名.repo>    指定要读取的 .repo 文件的另一种方法。

-t, --type <类型>    软件源类型 (yast2, rpm-md, plaindir)。

-d, --disable    添加软件源后禁用。

-c, --check    探测 URI。

-C, --no-check    不探测 URI,稍后刷新时再探测。

-n, --name <名称>    为软件源指定描述性名称。

-p, --priority <整数>    设置软件源优先级。

-k, --keep-packages    启用 RPM 文件缓存。

-K, --no-keep-packages    禁用 RPM 文件缓存。

-g, --gpgcheck    对此软件源启用 GPG 密钥检查。

-G, --no-gpgcheck    对此软件源禁用 GPG 密钥检查。

-f, --refresh    启用软件源自动刷新。


3、OpenSUSE:~ # zypper help mr             #查看modifyrepo命令帮助信息。


modifyrepo (mr) <选项> <别名|#|URI> ...

modifyrepo (mr) <选项> <--all|--remote|--local|--medium-type>


修改通过别名、编号、URI 或 '--all, --remote, --local, --medium-type' 聚合选项指定的软件源的属性。


  命令选项:

-d, --disable             禁用但不移除软件源。

-e, --enable              启用已禁用的软件源。

-r, --refresh              启用软件源的自动刷新。

-R, --no-refresh         禁用软件源的自动刷新。

-n, --name               为软件源设置一个描述性名称。

-p, --priority <整数>   设置软件源的优先级。

-k, --keep-packages   启用 RPM 文件缓存。

-K, --no-keep-packages  禁用 RPM 文件缓存。

-g, --gpgcheck          对此软件源启用 GPG 密钥检查。

-G, --no-gpgcheck      对此软件源禁用 GPG 密钥检查。


-a, -all                    应用修改到全部软件源。

-l, --local                 应用修改到全部本地软件源。

-t, --remote              应用修改到全部远程软件源。

-m, --medium-type <类型>  应用修改到指定类型的软件源。


4、OpenSUSE:~ # zypper help lr             #查看repos命令的帮助信息

repos (lr) [选项] [软件源] ...


列出全部已定义的软件源。


  命令选项:

-e, --export <文件名.repo>    将全部已定义的软件源导出为一个本地 .repo 文件。

-a, --alias    也显示软件源别名。

-n, --name    也显示软件源名称。

-u, --uri   也显示软件源的基础 URI。

-p, --priority    也显示软件源优先级。

-r, --refresh    也显示自动刷新旗标。

-d, --details    显示更多信息如 URI、优先级、类型。

-s, --service    也显示父服务别名。

-E, --show-enabled-only    仅显示已启用的软件源。

-U, --sort-by-uri    按 URI 排序列表。

-P, --sort-by-priority    按软件源优先级排序列表。

-A, --sort-by-alias    按别名排序列表。

-N, --sort-by-name    按名称排序列表。


四、举例说明


1、使用命令 zypper addrepo(ar) -f [URL] [Alias] (Alias是自己给这个源随便定义的英文名)添加软件源并开启自动刷新,添加一个阿里源。


OpenSUSE:~ # zypper addrepo -f https://mirrors.aliyun.com/opensuse/distribution/leap/42.3/repo/oss/  aliyun-distribution-42.3-oss

正在添加软件源 'aliyun-distribution-42.3-oss' .................................................................................................[完毕]

成功添加了软件源 'aliyun-distribution-42.3-oss'                                                                                                     

                                                                                                                                                    

URI      : https://mirrors.aliyun.com/opensuse/distribution/leap/42.3/repo/oss/                                                                     

已启用   : 是                                                                                                                                       

GPG 检查 : 是                                                                                                                                       

自动刷新 : 是                                                                                                                                       

优先级   : 99 (默认优先级)                                                                                                                          

                                                                                                                                                    

软件源优先级无效。所有已启用的软件源将使用相同的优先级。


通过上面的方法依次添加其他的阿里源。


2、使用命令 zypper modifyrepo (mr) -p <别名或URI> 设置软件源的优先级


OpenSUSE:~ # zypper mr -p 80 https://mirrors.aliyun.com/opensuse/distribution/leap/42.3/repo/oss/

软件源 'aliyun-distribution-42.3-oss' 的优先级已设为 80。


通过上面的方法依次设置其他的阿里源。


3、使用命令 zypper modifyrepo -d [别名或URI] 禁用一个软件源,如:


OpenSUSE:~ # zypper mr -d aliyun-update-42.3-oss

已成功禁用软件源 'aliyun-update-42.3-oss'。


4、使用命令 zypper modifyrepo -e [别名或URI] 启用一个软件源,如


OpenSUSE:~ # zypper mr -e aliyun-update-42.3-oss

已成功启用软件源 'aliyun-update-42.3-oss'。


5、使用命令 zypper removerepo [别名或URI] 删除一个软件源:


正在移除软件源 'aliyun-update-42.3-oss' .......................................................................................................[完毕]

已移除软件源 'aliyun-update-42.3-oss'。


6、列出配置的软件源,显示详情(优先级、网址等等):


OpenSUSE42.3 leap 软件源设置_开源软件_09

 

7、刷新全部软件源

OpenSUSE42.3 leap 软件源设置_开源软件_10