源就是在网络上下载文件的地方,也可以叫供应源、储存库、仓库、应用商店等。

 

1.源分类

根据是否联网分为:

(1)离线源
     DVD或U盘,这种是离线源。
(2)在线源
     添加远程服务器地址为源,这种叫做在线源。

根据网址类型分为:
(1)官方源
     openSUSE 中官方源默认提供。

     1.OSS(Open Source Software)开源软件
     leap版本:
     http://download.opensuse.org/distribution/leap/15.3/repo/oss/     tumbleweed版本:
     http://download.opensuse.org/tumbleweed/repo/oss/

    2.Non-OSS(Non-Open Source Software)非开源软件,如:Steam、Opera
    leap版本:
    http://download.opensuse.org/distribution/leap/15.3/repo/non-oss/    tumbleweed版本:
    http://download.opensuse.org/tumbleweed/repo/non-oss/

    oss及non-oss用于发布opensuse的每日构建快照,快照中包含系统所需的全部软件包及更新。

    3.leap版本OSS Update (开源软件更新):
    http://download.opensuse.org/update/leap/15.3/oss/

    4.leap版本Non-OSS (非开源软件更新):
    http://download.opensuse.org/update/leap/15.3/non-oss/

    5.tumbleweed版本更新源:只有1个:
    http://download.opensuse.org/update/tumbleweed/

    注:update仅用于推送临时安全补丁,如当日快照已发布但仍有临时安全补丁时,会首先推送至 update 源,并在次日合入下一版快照。
    禁用 update 源并不会使系统缺失任何功能或安全更新,仅会导致一些更新晚些推送。

    6.Src-OSS(Source of Open Source Software)开源软件源码(一般用不到)
    leap版本:
    http://download.opensuse.org/source/distribution/leap/15.3/repo/oss/    tumbleweed版本:
    http://download.opensuse.org/source/tumbleweed/repo/oss/

    7.Src-Non-OSS(Source of Non-Open Source Software)非开源软件源码(一般用不到)
    leap版本:
    http://download.opensuse.org/source/distribution/leap/15.3/repo/non-oss/
    tumbleweed版本:
    http://download.opensuse.org/source/tumbleweed/repo/non-oss/

    8.Debug     调试用开源软件(一般用不到)
    http://download.opensuse.org/debug/distribution/leap/15.3/repo/oss/
    http://download.opensuse.org/debug/distribution/leap/15.3/repo/non-oss/
    http://download.opensuse.org/debug/tumbleweed/repo/oss/
    http://download.opensuse.org/debug/tumbleweed/repo/non-oss/
    http://download.opensuse.org/update/leap/15.3/oss_debug/
    http://download.opensuse.org/update/leap/15.3/non-oss_debug/

    9.@System 伪储存库
    @System 内列出了当前安装的所有包。

    10.leap版本sle-update backports-update
    从 openSUSE Leap 15.3 开始,Leap 直接使用来自 SUSE Enterprise Linux 的二进制包,所以和旧版 Leap 相比,15.3 新增了 repo-sle-update 和 repo-backports-update 两个 update 源。
    详见:openSUSE:Step.
    http://download.opensuse.org/update/leap/15.3/backports/
    http://download.opensuse.org/update/leap/15.3/sle/

(2)国内镜像源
    镜像源就是复制了官方源的国内服务器,一般有几个小时的延迟。

    opensuse开发的MirrorBrain,会把所有的镜像地址隐藏起来,只暴露出一个中央服务器,用户只需使用这个中央服务器(download.opensuse.org),它会根据用户的 IP 地理位置为用户分配一个距离最近的镜像源,但在用户处显示的仍旧是来自

download.opensuse.org。所以一般不必添加镜像源,除非连中央服务器都连不上。(server=http://download.opensuse.org)

(3)社区源

    社区源是由志愿者提供的源。也叫第三方源。 之所以会有这种源,是为了避免专利纠纷------一些软件是有专利的,不允许官方源提供,而社区源不受专利限制,用户就可以从社区源下载安装。

    Packman是opensuse最大的社区源:
    http://packman.links2linux.org/

(4)项目源
    就是软件自己的官网,不由openSUSE官方维护,是由各项目自己维护,如:
    KDE:
    提供 KDE 项目相关软件的软件源,详见 KDE 软件源。
    GNOME:
    提供 GNOME 项目相关软件的软件源,详见 GNOME 软件源。
    Xfce:
    供 Xfce 项目相关软件的软件源,详见 Xfce 软件源。

 

2.源优先级

    优先级是一个1到200的值,1最高,200最低。默认优先级都是99。0表示默认优先级。
    如果有多个源提供同一个包,那么将优先使用优先级最高的源。
    注:在任何情况下优先级最高的源都是优先的,因此请确保更新源总是具有最高优先级,否则可能会安装过时的版本,直到下一次联网更新时才会更新该版本。

 

3.源操作

(1)列出源
    zypper lr
    zypper lr -u # 列出供应源 URI
    zypper lr -d # 列出供应源的其他数项属性
    zypper lr -P # 列出供应源优先级并依此排序
    zypper lr -e my # 导出全部的供应源设定信息至文件 my.repo

(2)添加源
    zypper ar http://download.videolan.org/pub/vlc/SuSE/11.1 vlc
    zypper ar http://download.opensuse.org/repositories/X11:/XGL/openSUSE_11.1/X11:XGL.repo # 通过 .repo 文件
    zypper ar -c ftp://some.download.site myalias # 添加之前试探供应源
    zypper ar my/dir/with/rpms local # 添加含 RPM 文件的本地目录为供应源

(3)刷新源
    zypper refresh
    zypper ref packman main # 也可以只指定特定的源刷新
    zypper ref -f upd # 强制upd源刷新

(4)删除源
    zypper rr vlc 1

(5)修改源
    zypper mr -d 6
    Repository 'repo-non-oss' has been sucessfully disabled.
    启用 packman 的自动刷新并缓存 RPM 文件,再设置其优先级为 70:
    # zypper mr -rk -p 70 packman
    Autorefresh has been enabled for repository 'packman'.
    RPM files caching has been enabled for repository 'packman'.
    Repository 'packman' priority has been set to 70.

(6)重命名源
    zypper nr 3 upd
    Repository 'openSUSE-11.1-Updates' renamed to 'upd'.
    当前该命令只能更改源的别名 (alias),若想更改显示的名称,请参阅 mr 命令。
    取一个简短的别名可以方便地用于命令参数或 --repo 选项中。
    使用别名较之序号安全,因为序号可能变化而使操作出错,而且别名比 URI 简单,URI 太长复制黏贴不便。

 

4.实际更换国内源(清华大学源及北京外国语大学源)

虽说连接中央服务器可自动连接距离近的源,但为了方便,禁用官方源仅用国内源。

(1)禁用原有软件源

        sudo zypper mr -da

     (2)添加国内镜像源

        因为我用的Tumbleweed版,因此只添加Tumbleweed源。

        添加清华源:

        sudo zypper ar -fcg https://mirrors.tuna.tsinghua.edu.cn/opensuse/tumbleweed/repo/non-oss/ tuna:tsinghua-non-oss

 

sudo zypper ar -fcg

        添加北京外国语大学源:

       sudo zypper ar -cfg 'https://mirrors.bfsu.edu.cn/opensuse/tumbleweed/repo/oss/' tuna:bfsu-oss

sudo zypper ar -cfg 'https://mirrors.bfsu.edu.cn/opensuse/tumbleweed/repo/non-oss/' tuna:bfsu-non-oss

 

        注: Tumbleweed 安装后默认会启用 oss, non-oss, update, 3 个官方软件源, 其中 oss 及 non-oss 源用于发布 Tumbleweed 的每日构建快照,快照中已包含系统所需的全部软件包及更新。 update 源仅用于推送临时安全补丁,如当日快照已发布但仍有临时安全补丁时,会首先推送至 update 源,并在次日合入下一版快照。 由于 update 源存在较强的时效性,上游镜像并未同步 update 源, TUNA 亦无法提供该源的镜像。 禁用 update 源并不会使系统缺失任何功能或安全更新,仅会导致极少数更新晚些推送,如有需求可以重新启用官方 update 源。

(2)刷新软件源

 

sudo zypper ref