openSUSE:Standards YaST2 Repository Metadata media
需要扩充本文。欢迎您按照风格指南进行编辑。
YaST/Zypp 媒体描述
实现
媒体和产品描述被分割成一组文件,将媒体准备数据与内容(产品)分离,并能够将多个产品组合在单个媒体上。
在媒体的顶层,应该存在一个目录
/media.1/
。
数字扩展取决于媒体集中的媒体编号。第一个媒体具有.1,第二个.2,依此类推。
这允许将集合中的所有媒体合并到一个目录中。YaST 始终知道期望哪个媒体,因此可以直接访问正确的媒体目录。
media.N/ 目录内的文件
在media.N/目录中,文件media和products必须存在。
可选地,可以存在一个名为patches的文件,以表示带有补丁的媒体(例如,用于 YaST 在线更新)。
该media文件包含确定正确性的媒体标识符,在使用可移动媒体时。
对于分割的媒体,它必须存在于集合中的每个媒体上。
该products文件包含每个产品的目录规范。
对于分割的媒体,它必须存在于集合的第一个媒体上。
该patches文件包含补丁目录树的根目录的单个目录规范,以及可选的补丁适用的独占产品列表。
对于分割的媒体,它必须存在于集合的第一个媒体上。
/media.N/media 文件
这应该包含一个标识符,以快速验证媒体所属的媒体集。此标识符不会显示给用户,但应包含用于调试目的的人类可读数据。
通常使用时间戳,例如 20061129031301,作为媒体集标识符。
| 文件 | media |
| 位置 | /media.N/媒体上的目录 |
| 内容 | 两行或多行 ASCII 如下 <vendor> <YYYYMMDDHHMMSS> [<media count>] |
出于目的,将识别数据存储在文件中。它也可以编码在文件名中(较旧的 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” 使用顶层目录,而其他产品有自己的子目录。