1UNICONV(1) 3.1.12 UNICONV(1)
2
3
4
6 uniconv - convert Netatalk volume encoding
7
9 uniconv [-ndv] -c cnidbackend -f fromcode -t tocode [-m maccode]
10 volumepath
11
13 uniconv converts the volume encoding of volumepath from the fromcode to
14 the tocode encoding.
15
17 -c
18 CNID backend used on this volume, usually cdb or dbd. Should match
19 the backend selected with afpd for this volume. If not specified,
20 the default CNID backend "dbd" is used
21
22 -d
23 don't HEX encode leading dots (:2e), equivalent to use dots = yes
24 in afp.conf(5)
25
26 -f
27 encoding to convert from, use ASCII for HEX encoded volumes
28
29 -h
30 display help
31
32 -m
33 Macintosh client codepage, required for HEX encoded volumes.
34 Defaults to "MAC_ROMAN"
35
36 -n
37 "dry run", don't do any real changes
38
39 -t
40 volume encoding to convert to, e.g. UTF8
41
42 -v
43 verbose output, use twice for maximum logging.
44
45 -V
46 print version and exit
47
49 Setting the wrong options might render your data unusable!!! Make sure
50 you know what you are doing. Always backup your data first.
51
52 It is *strongly* recommended to do a "dry run" first and to check the
53 output for conversion errors.
54
55 afpd(8) should not be running while you change the volume encoding.
56 Remember to change unix charset or vol charset in afp.conf(5) to the
57 new codepage, before restarting afpd.
58
59 In case of MacChineseTraditional, MacJapanese or MacKorean, uniconv
60 cannot be used.
61
62 USE AT YOUR OWN RISK!!!
63
65 Netatalk provides internal support for UTF-8 (pre- and decomposed) and
66 HEX. If you want to use other charsets, they must be provided by
67 iconv(1)
68
69 uniconv also knows iso-8859.adapted, an old style 1.x NLS widely used.
70 This is only intended for upgrading old volumes, afpd(8) cannot handle
71 iso-8859.adapted anymore.
72
74 The CNID backends maintains name to ID mappings. If you change a
75 filename outside afpd(8) (shell, samba), the CNID db, i.e. the DIDNAME
76 index, gets inconsistent. Netatalk tries to recover from such
77 inconsistencies as gracefully as possible. The mechanisms to resolve
78 such inconsistencies may fail sometimes, though, as this is not an easy
79 task to accomplish. I.e. if several names in the path to the file or
80 directory have changed, things may go wrong.
81
82 If you change a lot of filenames at once, chances are higher that the
83 afpds fallback mechanisms fail, i.e. files will be assigned new IDs,
84 even though the file hasn't changed. uniconv therefore updates the
85 CNID entry for each file/directory directly after it changes the name
86 to avoid inconsistencies. The two supported backends for volumes, dbd
87 and cdb, use the same CNID db format. Therefore, you could use uniconv
88 with cdb and afpd with dbd later.
89
90 Warning: There must not be two processes opening the CNID database
91 using different backends at once! If a volume is still opened with dbd
92 (cnid_metad/cnid_dbd) and you start uniconv with cdb, the result will
93 be a corrupted CNID database, as the two backends use different locking
94 schemes. You might run into additional problems, e.g. if dbd is
95 compiled with transactions, cdb will not update the transaction logs.
96
97 In general, it is recommended to use the same backend for uniconv you
98 are using with afpd(8).
99
101 convert 1.x CAP encoded volume to UTF-8, clients used MacRoman
102 codepage, cnidscheme is dbd:
103
104 example% uniconv -c dbd -f ASCII -t UTF8 -m MAC_ROMAN /path/to/share
105
106 convert iso8859-1 volume to UTF-8, cnidscheme is cdb:
107
108 example% uniconv -c cdb -f ISO-8859-1 -t UTF8 -m MAC_ROMAN /path/to/share
109
110 convert 1.x volume using iso8859-1 adapted NLS to HEX encoding:
111
112 example% uniconv -f ISO-8859-ADAPTED -t ASCII -m MAC_ROMAN/path/to/share
113
114 convert UTF-8 volume to HEX, for MacCyrillic clients:
115
116 example% uniconv -f UTF8 -t ASCII -m MAC_CYRILLIC /path/to/share
117
119 afp.conf(5),afpd(8),iconv(1),cnid_metad(8),cnid_dbd(8)
120
121
122
1233.1.12 19 Jan 2013 UNICONV(1)