1createrepo(8) createrepo(8)
2
3
4
6 createrepo - Create repomd (xml-rpm-metadata) repository
7
8
10 createrepo [options] <directory>
11
13 createrepo is a program that creates a repomd (xml-based rpm metadata)
14 repository from a set of rpms.
15
16
18 -u --baseurl <url>
19 Optional base URL location for all files.
20
21 -o --outputdir <url>
22 Optional output directory (useful for read only media).
23
24 -x --excludes <package>
25 File globs to exclude, can be specified multiple times.
26
27 -i --pkglist <filename>
28 specify a text file which contains the complete list of files to
29 include in the repository from the set found in the directory.
30 File format is one package per line, no wildcards or globs.
31
32 -n --includepkg
33 specify pkgs to include on the command line. Takes urls as well
34 as local paths.
35
36 -q --quiet
37 Run quietly.
38
39 -g --groupfile <groupfile>
40 A precreated xml filename to point to for group information.
41 See examples section below for further explanation.
42
43 -v --verbose
44 Run verbosely.
45
46 -c --cachedir <path>
47 Specify a directory to use as a cachedir. This allows createrepo
48 to create a cache of checksums of packages in the repository. In
49 consecutive runs of createrepo over the same repository of files
50 that do not have a complete change out of all packages this
51 decreases the processing time dramatically.
52
53 --basedir
54 Basedir for path to directories in the repodata, default is the
55 current working directory.
56
57 --update
58 If metadata already exists in the outputdir and an rpm is
59 unchanged (based on file size and mtime) since the metadata was
60 generated, reuse the existing metadata rather than recalculating
61 it. In the case of a large repository with only a few new or
62 modified rpms this can significantly reduce I/O and processing
63 time.
64
65 --skip-stat
66 skip the stat() call on a --update, assumes if the filename is
67 the same then the file is still the same (only use this if
68 you're fairly trusting or gullible).
69
70 --update-md-path
71 Use the existing repodata for --update, from this path.
72
73 -C --checkts
74 Don't generate repo metadata, if their timestamps are newer than
75 its rpms. This option decreases the processing time drastically
76 again, if you happen to run it on an unmodified repo, but it is
77 (currently) mutual exclusive with the --split option. NOTE: This
78 command will not notice when packages have been removed from
79 repo. Use --update to handle that.
80
81 --split
82 Run in split media mode. Rather than pass a single directory,
83 take a set of directories corresponding to different volumes in
84 a media set.
85
86 -p --pretty
87 Output xml files in pretty format.
88
89 --version
90 Output version.
91
92 -h --help
93 Show help menu.
94
95
96 -d --database
97 Generate sqlite databases for use with yum. This is now the
98 default.
99
100
101 --no-database
102 Do not generate sqlite databases in the repository.
103
104
105 -S --skip-symlinks
106 Ignore symlinks of packages
107
108 -s --checksum
109 Choose the checksum type used in repomd.xml and for packages in
110 the metadata. The default is now "sha256" (if python has hash‐
111 lib). The older default was "sha", which is actually "sha1",
112 however explicitly using "sha1" doesn't work on older (3.0.x)
113 versions of yum, you need to specify "sha".
114
115 --profile
116 Output time based profiling information.
117
118 --changelog-limit CHANGELOG_LIMIT
119 Only import the last N changelog entries, from each rpm, into
120 the metadata
121
122 --unique-md-filenames
123 Include the file's checksum in the metadata filename, helps HTTP
124 caching (default)
125
126
127 --simple-md-filenames
128 Do not include the file's checksum in the metadata filename.
129
130
131 --retain-old-md
132 Keep around the latest (by timestamp) N copies of the old repo‐
133 data (so clients with older repomd.xml files can still access
134 it). Default is 0.
135
136
137 --distro
138 Specify distro tags. Can be specified more than once. Optional
139 syntax specifying a cpeid(http://cpe.mitre.org/) --dis‐
140 tro=cpeid,distrotag
141
142 --content
143 Specify keyword/tags about the content of the repository. Can be
144 specified more than once.
145
146 --repo Specify keyword/tags about the repository itself. Can be speci‐
147 fied more than once.
148
149 --revision
150 Arbitrary string for a repository revision.
151
152 --deltas
153 Tells createrepo to generate deltarpms and the delta metadata
154
155 --oldpackagedirs PATH
156 paths to look for older pkgs to delta against. Can be specified
157 multiple times
158
159 --num-deltas int
160 the number of older versions to make deltas against. Defaults to
161 1
162
163 --read-pkgs-list READ_PKGS_LIST
164 output the paths to the pkgs actually read useful with --update
165
166 --max-delta-rpm-size MAX_DELTA_RPM_SIZE
167 max size of an rpm that to run deltarpm against (in bytes)
168
169 --workers WORKERS
170 number of workers to spawn to read rpms
171
172 --compress-type
173 specify which compression method to use: compat (default), xz
174 (may not be available), gz, bz2.
175
177 Here is an example of a repository with a groups file. Note that the
178 groups file should be in the same directory as the rpm packages (i.e.
179 /path/to/rpms/comps.xml).
180
181 createrepo -g comps.xml /path/to/rpms
182
183
185 repodata/filelists.xml.gz
186 repodata/other.xml.gz
187 repodata/primary.xml.gz
188 repodata/repomd.xml
189
191 yum [4m(8) yum.conf [4m(5)
192
193
195 See the Authors file
196
197
199 Any bugs which are found should be emailed to the mailing list: rpm-
200 metadata@lists.baseurl.org or reported in trac at: http://cre‐
201 aterepo.baseurl.org
202
203
204
205Seth Vidal 2005 Jan 2 createrepo(8)