标签: zypper

21
推荐指数
2
解决办法
3万
查看次数

为什么我会收到“警告:存储库‘oss_update’似乎已过时。请考虑使用不同的镜像或服务器。”?

在 WSL 上,我执行了sudo zypper update,但收到此错误消息。

正在加载存储库数据...
警告:存储库“oss_update”似乎已过时。考虑使用不同的镜像或服务器。
正在读取已安装的包...

没事做。

但是,当我执行时sudo zypper refresh,我没有收到任何错误消息。

Retrieving repository 'The Go Programming Language (openSUSE_Leap_42.3)' metadata ...............................................................................................................................................[done]
Retrieving repository 'devel:languages:php (openSUSE_Leap_42.3)' metadata .......................................................................................................................................................[done]
Repository 'oss' is up to date.
Retrieving repository 'oss_update' metadata .....................................................................................................................................................................................[done]
Retrieving repository 'PHP7 extensions (php7_openSUSE_Leap_42.3)' metadata ......................................................................................................................................................[done]
All repositories have been refreshed
Run Code Online (Sandbox Code Playgroud)

我检查了我正在使用的存储库列表zypper lr -u

# | Alias                      | Name                                             | Enabled | GPG Check | Refresh | URI
--+----------------------------+--------------------------------------------------+---------+-----------+---------+-------------------------------------------------------------------------------------------------
1 | devel_languages_go         | The …
Run Code Online (Sandbox Code Playgroud)

opensuse zypper repository

15
推荐指数
1
解决办法
1万
查看次数

如何在 bash 脚本中为来自 apt-get 的人使用 zypper?

我有一些关于在 bash 脚本中从 apt-get 移动到 zypper 的问题。

这相当于什么?

sudo apt-get install curl --assume-yes
Run Code Online (Sandbox Code Playgroud)

(其中 curl 可以是任何包)

我找到了Zypper Cheat Sheet - openSUSE。非常好!但我很感激这里的经验之声——在我想自动同意所有提示而不跳过需要响应的事情的脚本中使用 zypper 的正确方法是什么?

由于我的经验不足,我很想使用:

sudo zypper --non-interactive --no-gpg-checks --quiet install --auto-agree-with-licenses curl
Run Code Online (Sandbox Code Playgroud)

但这真的等同于--assume-yes吗?

这些等价物呢?

sudo apt-get autoremove -y
sudo apt-get autoclean -y
Run Code Online (Sandbox Code Playgroud)

表明没有一个...

gdebi-core 有替代品吗?或者 zypper 的“强大的可满足性求解器”永远不需要 gdebi?我将 gdebi 用于需要在旧版本上安装软件包并且我已经有一个 .deb 文件(但不是所有依赖项)的情况。

bash opensuse apt package-management zypper

14
推荐指数
2
解决办法
3万
查看次数

如何在 OpenSuSE 中找到提供给定文件的包?

我正在考虑一些类似Contents-<arch>.gzDebian 的问题。网络服务也还行。它存在吗?

简单阐述:例如,我们需要一个名为 的二进制文件exampletool,我们从其他发行版或操作系统中非常了解它。例如,我们想用 zypper 安装它。但是zypper只能安装一个包。为了找出我们可以在哪个包中找到所需的exampletool二进制文件,我们实际上需要进行搜索,最好是在当前未安装文件列表中进行快速索引搜索,但在存储库中可用的包。在 debian 上,包存储库中有一个名为 的索引文件Contents-amd64.gz,我们可以在其中使用单个zgrep命令找到所需的包。我也在为 OpenSUSE 寻找一些类似的单命令解决方案。如果没有,Web 服务也可以用于相同的功能。

rpm opensuse zypper

12
推荐指数
2
解决办法
1万
查看次数

使用 zypper,如何删除从特定存储库安装的所有软件包?

假设我使用zypper ar. 然后,我已经从该存储库中安装了多个软件包,但现在我想删除所有这些软件包。

是否有一个命令允许我从该特定存储库中删除我安装的所有软件包?

rpm opensuse zypper

11
推荐指数
1
解决办法
1万
查看次数

7
推荐指数
2
解决办法
2万
查看次数

如何同时安装模式和包?

如何同时安装包模式(例如“C/C++ 开发工具”)和包(例如“mercurial”)?目前,需要两个命令;例如,我写的安装说明sketch-frontend是,

sudo zypper install -t pattern "devel_C_C++" "devel_java"
sudo zypper install java-1_6_0-openjdk-devel mercurial
Run Code Online (Sandbox Code Playgroud)

[链接]。

(动机)。的确,一个命令只需要两个命令,但在 Internet 连接速度较慢(或处理器较慢)的机器上,没有第二个命令自动继续是很烦人的。此外,确实需要提示用户进行包解析,因此仅添加--non-interactive标志不是一种选择。

谢谢!

opensuse zypper

6
推荐指数
1
解决办法
8728
查看次数

zypper 输出中的“i”和“v”表示什么?

我已经阅读了 zypper 手册页,但它没有解释输出。因此,我请您解释一下“ S ”栏代表什么。

例如。类型:

zypper se -s post 
Run Code Online (Sandbox Code Playgroud)

一些输出如下所示:

S | Name                                | Type       | Version               | Arch   | Repository            
--+-------------------------------------+------------+-----------------------+--------+-----------------------   
  | libgda-4_0-postgres                 | package    | 4.1.2-1.3.48          | x86_64 | SLE11SP3-SERVER       
i | libqt4-sql-postgresql               | package    | 4.6.3-5.32.1          | x86_64 | SLE11SP3-SDK-UPDATE   
v | libqt4-sql-postgresql               | package    | 4.6.3-5.29.2          | x86_64 | SLE11SP3-SDK-UPDATE   
v | libqt4-sql-postgresql               | package    | 4.6.3-5.25.4          | x86_64 | SLE11SP3-SDK  
Run Code Online (Sandbox Code Playgroud)

问题是:

  1. “我”是什么意思?(我认为这意味着安装)
  2. “v”是什么意思?
  3. 空格是什么意思(我认为这意味着未安装)

suse opensuse zypper

6
推荐指数
1
解决办法
5367
查看次数

强制 zypper 安装特定版本

我有自己的个人仓库,里面有旧版本的 rpm。如果我想安装 boost-license 版本 1.36.0.11.17,我会执行以下操作

zypper install boost-license=1.36.0-11.17
Run Code Online (Sandbox Code Playgroud)

这似乎被打破了,但是好像我将 rev 更改为我知道不存在的 rev 然后它只是恢复到安装最新的 rev 而不是错误,这是愚蠢的。

我发现强制 zypper 安装我想要的特定 rpm 的唯一方法是说明确切的 rpms URL httlp//mylocalrepository/myrpms/boost-1.36.0.11.17.src.rpm。

任何想法如何使用 zypper,因为它旨在安装特定版本,如果它不存在则会出错?

suse rpm zypper

6
推荐指数
1
解决办法
3万
查看次数

zypper 安装特定的主要版本而不指定次要版本

我正在编写一个脚本来安装一些软件包并进行一些配置工作。我希望脚本安装包的特定主要版本,但我不在乎它是包的哪个次要版本。

更重要的是,我希望它安装包的最新 2.yz 版本,而不是 1.yz 或 3.yz(或任何其他主要版本号)。

我试过(没有成功)

  • zypper install 'mypackage=2'
  • zypper install 'mypackage>1<3'
  • zypper install 'mypackage>1' 'mypackage<3'
  • zypper install 'mypackage>=2.0.0' 'mypackage<3.0.0'

最后一个看起来很有希望,因为 zypper 抱怨道:

在包名称中找不到“mypackage>=2.0.0”。尝试能力。未找到“mypackage >= 2.0.0”的提供者。

但是,在该消息之后,它仍然继续安装 mypackage-1.5.0,因为它满足指定的第二个 package-edition。

opensuse package-management zypper

6
推荐指数
1
解决办法
1281
查看次数