openSUSE:Standards YaST2 Repository Metadata media

跳转到:导航搜索
Icon-expand.png
本文是一个存根!
需要扩充本文。欢迎您按照风格指南进行编辑。


YaST/Zypp 媒体描述

实现

媒体和产品描述被分割成一组文件,将媒体准备数据与内容(产品)分离,并能够将多个产品组合在单个媒体上。
在媒体的顶层,应该存在一个目录

       /media.1/

数字扩展取决于媒体集中的媒体编号。第一个媒体具有.1,第二个.2,依此类推。
这允许将集合中的所有媒体合并到一个目录中。YaST 始终知道期望哪个媒体,因此可以直接访问正确的媒体目录。

media.N/ 目录内的文件

media.N/目录中,文件mediaproducts必须存在。
可选地,可以存在一个名为patches的文件,以表示带有补丁的媒体(例如,用于 YaST 在线更新)。

media文件包含确定正确性的媒体标识符,在使用可移动媒体时。
对于分割的媒体,它必须存在于集合中的每个媒体上。

products文件包含每个产品的目录规范。
对于分割的媒体,它必须存在于集合的第一个媒体上。

patches文件包含补丁目录树的根目录的单个目录规范,以及可选的补丁适用的独占产品列表。
对于分割的媒体,它必须存在于集合的第一个媒体上。

/media.N/media 文件

这应该包含一个标识符,以快速验证媒体所属的媒体集。此标识符不会显示给用户,但应包含用于调试目的的人类可读数据。

通常使用时间戳,例如 20061129031301,作为媒体集标识符。

文件 media
位置 /media.N/媒体上的目录
内容 两行或多行 ASCII 如下
<vendor>
<YYYYMMDDHHMMSS>

[<media count>]
[<media flags>]
[<media names>]


出于目的,将识别数据存储在文件中。它也可以编码在文件名中(较旧的 SuSE 媒体这样做)。但这需要文件访问目录扫描,应避免。

通过将供应商名称存储在文件中,时间戳可以保持供应商特定性。(创建媒体的供应商的名称可能与产品供应商不同!它只是用作媒体识别的附加键。)

集合中的所有媒体必须在media文件中提供相同的供应商和标识信息。

/media.1/media 文件

/media.1/media文件可能包含其他信息。
媒体集的其余media文件可以重复此信息,但不再进行评估。

<media count>如果安装数据分割到多个(相同)媒体上,则需要此信息。
媒体计数是一个数值(所有字符都是数字),默认为1.

<media flags>可以进一步描述媒体。
为了区分标志和计数行,标志值以字母开头。

当前定义的标志

标志 含义
doublesided 媒体是双面的,YaST 会询问奇数编号的媒体的“正面”,询问偶数编号的媒体的“背面”。
默认是单面媒体。

<media names>可以定义替代字符串,用于在询问插入特定媒体时使用。
它们定义为<key><whitespace><value> 对,用 \n 分隔。

MEDIA<N> 用于询问媒体 <N> 时使用的 UTF-8 编码字符串。
MEDIA<N>.<lang> 的 UTF-8 编码翻译MEDIA<N>可以通过附加 ISO <language>

<language>_<country> 代码来定义。

示例

 linux# mount /dev/cdrom /mnt
 linux# ls /mnt/media.1
 media
 products
 linux# cat /mnt/media.1/media
 SuSE Linux AG
 20020921153042
 3
 MEDIA1 SUSE Linux 9.1 DVD 1
 MEDIA2 SUSE Linux 9.1 DVD 2
 MEDIA3 SUSE Linux 9.1 DVD 3
 linux#

products文件

此文件包含媒体上包含的每个产品的目录名称。

如果此文件不存在,则假定媒体根目录上的单个产品。

它是一个 ASCII 文件,每行一个产品。每行以目录名称(相对于媒体的根目录!)开头,后跟空格(空格或制表符),然后是产品名称和版本。目录名称中的前导斜杠仅用于指定媒体的根目录。

文件 products
位置 /media.1/目录
内容 一两行 ASCII 如下
<directory> <whitespace> <product>

<whitespace> <version>

示例

 linux# mount /dev/cdrom /mnt
 linux# cat /mnt/media.1/products
 /      SuSE Linux Personal 8.1-0
 sles-8 SuSE Linux Enterprise Server 8-0
 openlinux      Caldera OpenLinux 4.0-0
 linux# ls -a /mnt
 ...
 media.1/
 ...
 sles-8/
 openlinux/
 ...

在上面的示例中,“SuSE Linux Personal” 使用顶层目录,而其他产品有自己的子目录。