我zypper si
在SUSE中使用命令安装源码包:
localhost:/dev/disk/by-id # zypper si zlib
Reading installed packages...
Loading repository data...
Resolving package dependencies...
The following source package is going to be installed:
zlib
1 source package to install.
Overall download size: 587.0 KiB. Already cached: 0 B. After the operation, additional 597.7 KiB will be used.
Continue? [y/n/? shows all options] (y): y
Checking for file conflicts: ........................................................................................................[done]
但是当我使用命令:zypper se
检查包状态时,它显示“未安装”:
localhost:/dev/disk/by-id # zypper se zlib
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
--+------+--------------------------+-----------
| zlib | Data Compression Library | srcpackage
有人可以提供一些线索吗?
答案1
实际上,源包已经成功安装到/usr/src/package
文件夹中。但是它没有被标记为“installed
但从此文档:
提示:可以将源包从安装介质复制到硬盘并使用 YaST 解压。但是,它们并未在包管理器中标记为已安装 ([i])。这是因为源包没有输入到 RPM 数据库中。 RPM 数据库中仅列出已安装的操作系统软件。安装源包时,仅将源代码添加到系统中。
答案2
该软件包尚未安装,您需要rpmbuild
先使用命令来创建它。 Zypper 仅下载编译所需的源代码。
cd
进入/usr/src/packages
并按root
或执行sudo rpmbuild -ba SPEC/yourfilename.spec
,它将被编译到具有您的处理器体系结构名称的目录中。对我来说,这将是/usr/src/packages/RPMS/x86_64/
。
安装它
rpm -ivh /path/to/yourfilename.rpm