1 | createrepo
|
2 | ===
|
3 |
|
4 | 创建YUM仓库
|
5 |
|
6 | ## 概要
|
7 |
|
8 | ```shell
|
9 | createrepo [选项] <目录>
|
10 | ```
|
11 |
|
12 | ## 描述
|
13 |
|
14 | `createrepo`是一个程序,它从一组RPM创建一个RPM元数据存储库,即YUM仓库。
|
15 |
|
16 | ## 选项
|
17 |
|
18 | ```shell
|
19 | -u --baseurl <url>
|
20 | # 指定Base URL的地址
|
21 |
|
22 | -o --outputdir <url>
|
23 | # 指定元数据的输出位置
|
24 |
|
25 | -x --excludes <packages>
|
26 | # 指定在形成元数据时需要排除的包
|
27 |
|
28 | -i --pkglist <filename>
|
29 | # 指定一个文件,该文件内的包信息将被包含在即将生成的元数据中,格式为每个包信息独占一行,不含通配符、正则,以及范围表达式。
|
30 |
|
31 | -n --includepkg
|
32 | # 通过命令行指定要纳入本地库中的包信息,需要提供URL或本地路径。
|
33 |
|
34 | -q --quiet
|
35 | # 安静模式执行操作,不输出任何信息。
|
36 |
|
37 | -g --groupfile <groupfile>
|
38 | # 指定本地软件仓库的组划分,示例:createrepo -g comps.xml /path/to/rpms
|
39 | # 注意:组文件需要和rpm包放置于同一路径下。
|
40 |
|
41 | -v --verbose
|
42 | # 输出详细信息。
|
43 |
|
44 | -c --cachedir <path>
|
45 | # 指定一个目录,用作存放软件仓库中软件包的校验和信息。
|
46 | # 当createrepo在未发生明显改变的相同仓库文件上持续多次运行时,指定cachedir会明显提高其性能。
|
47 |
|
48 | --basedir
|
49 | # Basedir为repodata中目录的路径,默认为当前工作目录。
|
50 |
|
51 | --update
|
52 | # 如果元数据已经存在,且软件仓库中只有部分软件发生了改变或增减,
|
53 | # 则可用update参数直接对原有元数据进行升级,效率比重新分析rpm包依赖并生成新的元数据要高很多。
|
54 |
|
55 | --skip-stat
|
56 | # 跳过--update上的stat()调用,假设如果文件名相同,则文件仍然相同(仅在您相当信任或容易受骗时使用此方法)。
|
57 |
|
58 | --update-md-path
|
59 | # 从这个路径使用现有的repodata来升级。
|
60 |
|
61 | -C --checkts
|
62 | # 不要生成回购元数据,如果它们的时间戳比rpm更新。如果您碰巧开启了该选项,则此选项将再次大幅减少处理时间一个未修改的回购,但它(目前)与——split选项互斥。注意:当包从repo中删除时,这个命令不会注意到。使用——update来处理这个。
|
63 |
|
64 | --split
|
65 | # 在拆分媒体模式下运行。与其传递单个目录,不如获取一组对应于媒体集中不同卷的目录。
|
66 |
|
67 | -p --pretty
|
68 | # 以整洁的格式输出xml文件。
|
69 |
|
70 | --version
|
71 | # 输出版本。
|
72 |
|
73 | -h --help
|
74 | # 显示帮助菜单。
|
75 |
|
76 | -d --database
|
77 | # 该选项指定使用SQLite来存储生成的元数据,默认项。
|
78 |
|
79 | --no-database
|
80 | # 不要在存储库中生成sqlite数据库。
|
81 |
|
82 | -S --skip-symlinks
|
83 | # 忽略包的符号链接
|
84 |
|
85 | -s --checksum
|
86 | # 选择repmed .xml中使用的校验和类型以及元数据中的包。默认值现在是“sha256”(如果python有hashlib)。旧的默认值是“sha”,它实际上是“sha1”,但是显式使用“sha1”在旧版本(3.0.x)的yum上不起作用,您需要指定“sha”。
|
87 |
|
88 | --profile
|
89 | # 输出基于时间的分析信息。
|
90 |
|
91 | --changelog-limit CHANGELOG_LIMIT
|
92 | # 只将每个rpm中的最后N个变更日志条目导入元数据
|
93 |
|
94 | --unique-md-filenames
|
95 | # 在元数据文件名中包含文件的校验和,有助于HTTP缓存(默认)
|
96 |
|
97 | --simple-md-filenames
|
98 | # 不要在元数据文件名中包含文件的校验和。
|
99 |
|
100 | --retain-old-md
|
101 | # 保留旧repodata的最新(按时间戳)N个副本(这样使用旧repodata .xml文件的客户端仍然可以访问它)。默认为0。
|
102 |
|
103 | --distro
|
104 | 指定发行版标签。可以多次指定。可选语法,指定cpeid(http://cpe.mitre.org/)——distro=cpeid,distrotag
|
105 |
|
106 | --content
|
107 | # 指定关于存储库内容的关键字/标记。可以多次指定。
|
108 |
|
109 | --repo
|
110 | # 指定关于存储库本身的关键字/标签。可以多次指定。
|
111 |
|
112 | --revision
|
113 | # 存储库修订的任意字符串。
|
114 |
|
115 | --deltas
|
116 | # 告诉createrepo生成增量数据和增量元数据
|
117 |
|
118 | --oldpackagedirs PATH
|
119 | # 寻找更老的PKGS来对抗的路径。可以指定多次吗
|
120 |
|
121 | --num-deltas int
|
122 | # 要进行增量处理的旧版本的数量。默认为1
|
123 |
|
124 | --read-pkgs-list READ_PKGS_LIST
|
125 | # 使用——update将路径输出到PKGS实际读起来很有用
|
126 |
|
127 | --max-delta-rpm-size MAX_DELTA_RPM_SIZE
|
128 | # 要运行deltarpm的RPM的最大大小(以字节为单位)
|
129 |
|
130 | --workers WORKERS
|
131 | # 为读取RPMS而生成的工作线程数
|
132 |
|
133 | --compress-type
|
134 | # 指定要使用的压缩方法:compat(默认),xz(可能不可用),gz, bz2。
|
135 |
|
136 | ```
|
137 |
|
138 | ## 返回值
|
139 |
|
140 | 返回状态为成功除非给出了非法选项或非法参数。
|
141 |
|
142 | ## 例子
|
143 |
|
144 | ```shell
|
145 | # 生成带有groups文件的存储库。注意groups文件应该和rpm包在同一个目录下(即/path/to/rpms/comps.xml)。
|
146 | createrepo -g comps.xml /path/to/rpms
|
147 | ```
|